国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python09

2019-11-08 03:01:27
字體:
來源:轉載
供稿:網友

迭代器

迭代器的功能:提供了可擴展的迭代器接口;增強了列表迭代和字典迭代中的性能;創(chuàng)建真正的迭代接口,而不是原來的隨機對象訪問;與所有以及存在的用戶定義的類以及擴展的模擬序列和映射的對象向后兼容;迭代非序列集合時可以創(chuàng)建更簡潔可讀的代碼。從根本上來說,迭代器有一個next()方法的對象而不是通過索引來技術,當循環(huán)機制需要下一個項時調用迭代器的next()方法可以獲得它,條目全部取出后會引發(fā)一個StopIteration異常,這并不表示錯誤發(fā)生,只是告訴外部調用者迭代完成。迭代器不能向后以后,不能回到開始,不能復制一個迭代器,如果再次迭代同個對象只能去創(chuàng)建另一個迭代器對象。

>>> tuple1=('a',21,'34')>>> i=iter(tuple1)>>> i.__next__()'a'>>> i.__next__()21>>> i.__next__()'34'>>> i.__next__()Traceback (most recent call last): File "<stdin>", line 1, in <module>StopIteration>>> file1=open('d:/study/python/test.txt','w+')>>> file1.writelines("a/n")>>> file1.writelines("b/n")>>> file1.close()>>> file1=open('d:/study/python/test.txt','r')>>> for line in file1:... PRint(line)...ab>>> file1.close()

在迭代序列的時候不可以修改這個對象,除列表外其他序列都是不可變的,修改這些對象將會導致異常

>>> mDict={'a':1,'b':2,'c':3}>>> for eachKey in mDict:... print(eachKey,mDict[eachKey])... del mDict[eachKey]...a 1Traceback (most recent call last): File "<stdin>", line 1, in <module>RuntimeError: dictionary changed size during iteration

文件操作

函數(shù)open()

函數(shù)open提供了初始化輸入/輸出(I/O)操作的通用接口,open()內建函數(shù)成功打開文件后悔返回一個文件對象,否則引發(fā)一個錯誤,當操作失敗,Python會產生一個IOError異常:

handle = open(fileName,access_mode='r',buffering=-1)
文件模式 操作
r 以讀方式打開
rU/Ua 以讀方式打開,同時提供通用換行符支持
w 以寫方式打開
a 以追加模式打開
r+ 以讀寫模式打開
w+ 以讀寫模式打開
a+ 以讀寫模式打開
rb 以二進制讀模式打開
wb 以二進制寫模式打開
ab 以二進制追加模式打開
rb+ 以二進制讀寫模式打開
wb+ 以二進制讀寫模式打開
ab+ 以二進制讀寫模式打開

buffering用于指示訪問文件所采用的緩沖方式,0表示不緩沖,1表示只緩沖一行數(shù)據(jù),大于1的值代表使用給定值作為緩沖區(qū)大小,不提供該參數(shù)或者給定負值代表使用系統(tǒng)默認緩沖機制。

文件對象的內建方法
方 法 操 作
file.close() 關閉文件
file.fileno() 返回文件描述符
file.flush() 刷新文件的內部緩沖區(qū)
file.isatty() 判斷file是否是一個類tty設備
file.next() 返回文件的下一行,在沒有其他行駛返回StopIteration異常
file.read(size=-1) 從文件讀取size個字節(jié),當為給定size或給負值時讀取剩余所有字節(jié)作為字符串返回
file.readline(size=-1) 從文件中讀取并返回一行,或返回最大size個字符
file.readlines(size=0) 讀取文件的所有行并作為一個列表返回,如果給定size且>0,那么將返回總和接近為size字節(jié)的行
file.seek(off,whence=0) 在文件中移動文件指針,從whence(0文件起始,1當前位置,2文件末尾)偏移off字節(jié)
file.tell() 返回當前在文件中的位置
file.truncate(size=file.tell()) 截取文件到最大size字節(jié),默認為當前文件位置
file.write(str) 向文件寫入字符串
file.writelines(seq) 向文件寫入字符串序列seq
文件內建屬性
屬 性 描 述
file.closed true關閉,否則false
file.encoding 文件使用的編碼方式
file.mode 文件打開時使用的訪問模式
file.name 文件名
file.newlines 未讀取到行分隔符時為None,只有一種行分隔符時為一個字符串,當文件有多種類型的行結束符時,則為一個包含所有檔期那所遇到的行結束符的列表

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 浪卡子县| 山西省| 清苑县| 微山县| 易门县| 舟山市| 岐山县| 阿尔山市| 平塘县| 胶南市| 长沙市| 阜平县| 潼关县| 元江| 和硕县| 咸阳市| 四子王旗| 香河县| 云南省| 合江县| 奎屯市| 南丰县| 商南县| 威宁| 黑龙江省| 清镇市| 肇源县| 澜沧| 镇坪县| 康定县| 河南省| 长沙县| 玉田县| 汶川县| 仁布县| 宣城市| 泸溪县| 昌黎县| 留坝县| 修文县| 慈利县|