python学习手册(第4版) 第九章

在第八章的学习中,主要了解的是可变对象的集合:列表和字典,列表的排序/反转/增删查等方法,以及列表的解析表达式,字典的三种创建方法/对键的操作/对值的操作/键值对的增删查,以及字典的解析表达式。

现在第九章,主要了解元组和文件,属于不可变对象的集合。

简单使用:

>>>t1 = (0,)              #单个元素的元组,多使用一个逗号,非表达式

>>>t2 = tuple('spam')         #可迭代对象的元组

>>>t2

('s','p','a','m')

搜索索引.index()/计数.count()

>>>t2.index('s')                     #搜索索引,返回索引值

0

>>>t3 = (1,1,1,1,1,1)

>>>t3.index(1,-1)            #索引的另一个用法,当存在多个相同值的时候,传入第二个参数,确定返回第几个此值的索引,返回索引值

5

>>>t2.count('s')                       #计数,返回元素的个数

1

元组也是序列,支持字符串和列表的一些操作,如:+/*/索引/分片

>>>(1,2) + (3,4,5)             #序列相加,类似集合的合并

(1,2,3,4,5)

>>>(1,3)*2                    #相当于序列自身多次相加

(1,3,1,3)

>>>t2[2]                            #元组索引,返回单个元素

'a'

>>>t2[1:3]                        #元组切片,返回一个元组

('p','a')

 

文件的操作

1.文件的写操作

>>>output = open(r'test.txt','w')           #执行写操作,文件不存在则在当前目录新建,存在则打开

>>>output.write('abc\n\efg!')                 #写入内容,返回写入的字符个数

7

>>>output.flush()                        #将缓存区内容刷到硬盘,但不关闭文件,无返回,执行此操作后,上一步的写入内容,在文件中才能看到,否则文件中看不到相关写入内容

>>>output.close()                         #关闭文件,释放资源,如果不关闭,文件一直被占用,如果想删除,则不允许被删除,需要养成手动关闭文件的好习惯

2.文件的读操作

>>>input = open('data.txt','r')            #执行读操作,读取当前目录下的文件,文件不存在则报错,data.txt的内容为'hello\nhi!'

>>>astring = input.read()                 #一次性将文件内容全部读取出来,返回一个字符串

>>>astring

'hello\nhi!'

>>>astring = input.read()                #再次执行读操作,则返回内容为空,因为文件内容只被读取一遍,想要再读取一遍,需要重新执行一次读操作

>>>astring

''

>>>input2 = open('data.txt','r')           #再次执行读操作

>>>astring2 = input2.read(1)            #设定每次读取的字符个数,返回一个字符串

>>>astring2

'h'

>>>astring2 = input2.read(3)          #继续读取文件剩下的内容

>>>astring2

'ell'

>>>input3 = open('data.txt','r')            #再次执行读操作

>>>astring3 = input3.readline()            #读取下一行到字符串(包括行末的换行符),返回一个字符串

'hello\n'

>>>input4 = open('data.txt','r')           #再次执行读操作

>>>astring4 = input4.readlines()         #一次性读取所有内容,将每行(包括行末的转行符)作为一个字符串存入列表

>>>astring4

['hello\n','hi!']

 

>>>output2 = open('data.txt','a')           #执行追加写操作

>>>output2.write('\nabc')                      #在文件尾执行追加写,返回写入的字符个数,此时打开文件,内容还没有追加进去,还在缓存中,没有写入硬盘

4

>>>output2.flush()                               #将缓存内容刷入硬盘,无返回,再次打开文件时,内容才被写入

>>>output2.close()                               #手动关闭文件,这是一个好习惯

 

python学习手册(第4版) 第九章    

python学习手册(第4版) 第九章