第七章 字符串
单双引号字符串是一样的
用转义序列代表特殊字节
字符串抑制转义
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的更多相关文章

  1. python学习-day3

    今天是第三天学习,加油! 第一部分 集合 一.集合 1.什么是集合以及特性? 特性:无序的,不重复的序列,可嵌套. 2.创建集合 方法一:创建空集合 s1 = set() print(type(s1) ...

  2. python学习day3

    目录: 1.集合set 2.计数器 3.有序字典 4.默认字典 5.可命名元组 6.队列 7.深浅拷贝 8.函数 9.lambda表达式 10.内置函数 一.集合set set是一个无序且不重复的元素 ...

  3. python学习Day3 变量、格式化输出、注释、基本数据类型、运算符

    今天复习内容(7项) 1.语言的分类 -- 机器语言:直接编写0,1指令,直接能被硬件执行 -- 汇编语言:编写助记符(与指令的对应关系),找到对应的指令直接交给硬件执行 -- 高级语言:编写人能识别 ...

  4. python学习 day3 (3月4日)---字符串

    字符串: 下标(索引) 切片[起始:终止] 步长[起始:终止:1] 或者-1 从后往前 -1 -2 -3 15个专属方法: 1-6  : 格式:大小写 , 居中(6) s.capitalize() s ...

  5. Python学习day3作业

    days3作业 作业需求 HAproxy配置文件操作 根据用户输入,输出对应的backend下的server信息 可添加backend 和sever信息 可修改backend 和sever信息 可删除 ...

  6. python学习day3 编程语言分类 变量 格式化输出

    1.编程语言分类 机器语言:直接使用二进制指令直接编写程序,直接操作计算机硬件,必须考虑硬件细节 汇编语言:使用英文标签代替二进制指令去编写程序,直接操作计算机硬件,必须考虑硬件细节对,不过相比机器语 ...

  7. Python学习day3 数据类型Ⅰ(str,int,bool)

    day3  数据类型 @上节内容补充 每周一个思维导图-xmind.exe in / not in #示例:(是否包含敏感字符)while True:    text = input('请输入你要说的 ...

  8. Python学习笔记,day3

    Python学习第三天 一.集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作: s = ...

  9. python s12 day3

    python s12 day3   深浅拷贝 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  10. python学习博客地址集合。。。

    python学习博客地址集合...   老师讲课博客目录 http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs. ...

随机推荐

  1. JcClient Ip Get

    ##通道##123.207.157.82:18425## ##通道##112.95.251.214:18425## ##通道##110.52.233.5:18425## ##通道##119.29.19 ...

  2. springbootboot-HttpServletRequest.getInputStream() 获取post内容

    问题描述: 在php端用curl post一段json到java springboot.在java端用request.getInputStream()获取到的数据为空. 问题确认: 询问度娘后, 她告 ...

  3. 仿QQ的底部选项

    效果图: item_add.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  4. activemq jmsTemplate 发送消息速度太慢

    http://activemq.apache.org/async-sends.html http://bbs.csdn.net/topics/370062485

  5. Redis(三)节省内部空间优化

    总体原则:key的名称不易过长,剩下的所有 能用纯数字表示的尽量用 Redis的每一个键值都是用一个redisObject结构体表示的结构体中有:    键值的类型(string/list/hash/ ...

  6. 特殊字符(包含emoji)的梳理

    背景知识 emoji表情符号,是20世纪90年代由NTT Docomo栗田穣崇(Shigetaka Kurit)创建的,词义来自日语(えもじ,e-moji,moji在日语中的含义是字符).emoji可 ...

  7. java file类的常用方法和属性

    1 常用方法       a.createNewFile方法 public boolean createNewFile() throws IOException 该方法的作用是创建指定的文件.该方法只 ...

  8. ASP.NET页面中去除VIEWSTATE视图状态乱码

    保存页的所有视图状态信息和控件状态信息. 基于SEO技术的开发,在没有接触MVC框架 Razor 引擎的时候,我们需要使用ASP.NET引擎,如果使用ASP.NET引擎的服务器端控件,那么在ASP.N ...

  9. 阅读笔记Multi-task Learning for Stock Selection [NIPS1996]

    Multi-task Learning for Stock Selection  Joumana Ghosn and Yoshua Bengio 摘要 用人工神经网络预测未来回报以便于做出对应的金融决 ...

  10. 激活windows10 LTSB 2016

    激活windows10 LTSB 2016 slmgr /ipk DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ slmgr /skms kms.firadio.net slmgr /at ...