Python 学习---------Day3
第七章 字符串
单双引号字符串是一样的
用转义序列代表特殊字节
字符串抑制转义
myfile=open(r'C:\new\text.dat','w')
三重引号编写多行字符串块
字符串更大的编码集
std(u'spam')
unicode('spam')
实际中的字符串
基本操作
索引和分片
拓展分片:第三个限制值
s[1:10:2]
s{::2]
s{::-1]
字符串转换工具
int('123'),str(42)
repr(42)
字符串代码转换
ord('s') 115
chr(115) s
二进制的转换
B='1101'
I=0
while B:
I=I*2+ord(B[0]-ord('0'))
B=B[1:]
I=13
'That is %d %s bird!' %(1,'dead')
字符串格式化
任何对象都可以转化为字符串,(打印时候使用),只需要使用%s这个代码来格式化表达式
基于字典的字符串格式化
"%(n)d %(x)s" %{"n":1,"x":spam}
reply="""
Greeting...
Hello %(name)s!
Your age is %(age)s
"""
value={"name":"bob","age":12}
print reply %value
字符串方法
s='xxxxSPAMxxxSPAMxxx'
where=s.find("SPAM")
s=s[:where]+'adas'+s[(where+4):]
s.replace("spam",'asda')
s.replace("soam","asda",1)
s='spam'
L=list(s)
L[2]='z'
s="".join(L) join方法可以把列表字符串连在一起
split()方法可以将一个字符串分割成一个子字符串的列表
line='aaa bbb ccc'
cols=line.split() cols=['aaa','bbb','ccc']
line="i'mSPAMSPAMlumberjack"
line.split("SPAM")
["i'm", 'lumberjack']
rstrip()
upper()
isalpha()
endswith()
第八章 列表与字典
列表:
任意对象的有序集合
通过偏移读取
可变长度,异构以及任意嵌套
属于可变序列的分类
对象引用数组
基本列表操作
len([1,2,3])
[1,2,3]+[4,5,6]
['NI']*4
3 in [1,2,3]
for x in [1,2,3]:
print x,
str([1,2])+"34" '[1,2]34'
[1,2]+list("34")
原处修改列表
L=['spam','Soan','SPAM"]
L[1]='eggs'
L=[0:2]=['eat','more']
L.append('please')
L.sort()
append()和sort()之类的属性,对象的修改有点类似副作用,所以没必要重新赋值
L[:0]=[x]
L=[1,2]
L.extend([3,4,5])
L.pop()
L.reverse()
L=[]
L.append(1)
L.append(2)
L.pop()
del L[0]
L[1:]=[]
L[0]=[] L=[[]]
字典
通过键而不是偏移量来读取
任意对象的无序集合
可变长,异构,任意嵌套
属于可变映射类型
对象引用表(哈希表)
字典的基本操作
d={'spam':2,'ham':1,'eggs':3}
d['spam']
len(d)
d.has_key('spam')
d.keys()
d['spam']=['grill','bake','fry']
del d['eggs']
d.values()
d.items()
d.get('spam')
d2={'a':4,'b':5}
d.uodate(d2)
d
d.pop('spam')
for key in D.keys()
for key in D
字典用于稀疏数据结构
matrix={}
matrix[(2,3,4)]=88
matrix[(1,2,3)]=89
if else
try :
except keyError:
matrix.get((2,3,4),0)
dict.fromkeys(['a','b'],0)
第九章 元组,文件以及其他
元组
任意对象的有序集合
通过偏移存取
属于不可变序列类型
固定长度,异构,任意嵌套
对象引用的数组
元组的特殊语法:逗号和圆括号
x=(40) x=40
x=(40,) x=(40)
如果你想对元组进行排序,先把它转换为列表,将它变为一个可变对象,然后再转换为元组
t=('cc','aa','bb','dd')
tmp=list(t)
tmp.sort()
t=tuple(tmp)
注意元组的不可变性只适合用于元组本身顶层而并非其内容,例如元组内部的列表使可以像往常那样修改
t=(1,2,[3,4],4)
t[2][0]='spam'
文件
实际应用中的文件
myfile=open('myfile','w')
myfile.write('hello text file\n')
myfile.close()
myfile=open('myfile')
myfile.readline()
myfile.readline()
pickle 的使用
struct 模块
引用和拷贝
copy方法可以复制字典,l[:]可以复制序列
比较,相等性和真值
== 操作符测试值的相等性
is 操作符测试对象的一致性
l1=[1,('a',3)]
l2=[1,('a',3)]
l1==l2 ,l1 is l2
(True,False)
s1='spam'
s2='spam'
s1==s2,s1 is s2
(True,True)
这里不一样的原因是在Python内部暂时存储并重复使用短字符串作为最佳化,事实上只有一个字符串'spam'供s1和s2使用
如果使用长点的字符串
s1='a long string'
s2='a long string'
s1==s2 s1 is s2
(True,false)
Python 学习---------Day3的更多相关文章
- python学习-day3
今天是第三天学习,加油! 第一部分 集合 一.集合 1.什么是集合以及特性? 特性:无序的,不重复的序列,可嵌套. 2.创建集合 方法一:创建空集合 s1 = set() print(type(s1) ...
- python学习day3
目录: 1.集合set 2.计数器 3.有序字典 4.默认字典 5.可命名元组 6.队列 7.深浅拷贝 8.函数 9.lambda表达式 10.内置函数 一.集合set set是一个无序且不重复的元素 ...
- python学习Day3 变量、格式化输出、注释、基本数据类型、运算符
今天复习内容(7项) 1.语言的分类 -- 机器语言:直接编写0,1指令,直接能被硬件执行 -- 汇编语言:编写助记符(与指令的对应关系),找到对应的指令直接交给硬件执行 -- 高级语言:编写人能识别 ...
- python学习 day3 (3月4日)---字符串
字符串: 下标(索引) 切片[起始:终止] 步长[起始:终止:1] 或者-1 从后往前 -1 -2 -3 15个专属方法: 1-6 : 格式:大小写 , 居中(6) s.capitalize() s ...
- Python学习day3作业
days3作业 作业需求 HAproxy配置文件操作 根据用户输入,输出对应的backend下的server信息 可添加backend 和sever信息 可修改backend 和sever信息 可删除 ...
- python学习day3 编程语言分类 变量 格式化输出
1.编程语言分类 机器语言:直接使用二进制指令直接编写程序,直接操作计算机硬件,必须考虑硬件细节 汇编语言:使用英文标签代替二进制指令去编写程序,直接操作计算机硬件,必须考虑硬件细节对,不过相比机器语 ...
- Python学习day3 数据类型Ⅰ(str,int,bool)
day3 数据类型 @上节内容补充 每周一个思维导图-xmind.exe in / not in #示例:(是否包含敏感字符)while True: text = input('请输入你要说的 ...
- Python学习笔记,day3
Python学习第三天 一.集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作: s = ...
- python s12 day3
python s12 day3 深浅拷贝 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- python学习博客地址集合。。。
python学习博客地址集合... 老师讲课博客目录 http://www.bootcdn.cn/bootstrap/ bootstrap cdn在线地址 http://www.cnblogs. ...
随机推荐
- Camstar Portal modeling user guid --自定义用户菜单
通过studio 创建 menu definition 创建菜单 创建成功后到employee界面设置对应菜单就可以了
- 通过反射绑定事件_Office Visio
花了好几个小时才Try出来,记录一下: //反射获取Visio.Application,此处没有判断是否有安装Visio mVisioType = System.Type.Get ...
- ruby Matrix 输出 格式化
require 'matrix' class Matrix def to_pretty_s s = "" i = 0 while i < self.column_size s ...
- CSS布局设计
CSS布局设计: (1)固定布局:各个部分采用固定宽度的页面布局. (2)流式布局:通过定义模块和模块间距的百分比的方式来实现.缺点是会自动缩放,影响图片的美观. (3)响应式布局:页面可以用户的设备 ...
- java_js_检查是否全为数字
//检查所有输入文本都是数字类型 var len=blackNumber.length; var regExp=new RegExp("\\d{"+len+"}" ...
- 使用sql更改表的列的数据类型和添加新列和约束
修改数据库表某一列或添加列,转载的哦~ --增加一列 ALTER TABLE 表名 ADD 列名 VARCHAR(20) NULL --删除一列 ALTER TABLE 表名 drop COLUMN ...
- 【经验】ansible 批量推送公钥
1.使用 ssh-keygen -t rsa生成密钥对 ssh-keygen -t rsa 2.推送单个公钥到远程机器 格式: ssh-copy-id -i ~/.ssh/id_rsa.pub use ...
- CentOS 6 安装 MySQL-python
yum install -y mysql-devel python-devel python-setuptools pip install MySQL-python
- theano中的dimshuffle
theano中的dimshuffle函数用于对张量的维度进行操作,可以增加维度,也可以交换维度,删除维度. 注意的是只有shared才能调用dimshuffle() 'x'表示增加一维,从0d sca ...
- SQLYog快捷键大全
Ctrl+M 创建一个新的连接 Ctrl+N 使用当前设置新建连接 Ctrl+F4 断开当前连接 对象浏览器 F5 刷新对象浏览器(默认) Ctrl+B 设置焦点于对象浏览器 SQ ...