一妖谴、模塊的導(dǎo)入
一個(gè)py文件就是一個(gè)模塊奏寨,
通過import或from import在一個(gè)模塊使用另一個(gè)
1、import text
代碼執(zhí)行到import時(shí)玖详,直接導(dǎo)入所有內(nèi)容并執(zhí)行text中所有內(nèi)容挖藏。并可通過text. 的方式使用text中所有的全局變量暑刃,局部不行
[if !supportLists]2、[endif]from模塊名 import 變量1膜眠,變量2岩臣,...
??代碼執(zhí)行到from時(shí),直接導(dǎo)入所有內(nèi)容并執(zhí)行text中所有內(nèi)容宵膨。但只能用import后聲明的變量架谎,直接用,不用’模塊.’
[if !supportLists]3辟躏、[endif]from模塊名 import *
??可直接使用text中所有的全局變量
二谷扣、[endif]模塊的重命名
??import模塊名 as 新名
form模塊名 import 變量名 as 新名
用時(shí)用新名
三、選擇性導(dǎo)入(阻止導(dǎo)入)
????if __name__ == '__main__':
以下內(nèi)容捎琐,不希望被別的模塊導(dǎo)入
[if !supportLists]四会涎、[endif]什么時(shí)候使用模塊
將具有相同功能的函數(shù)和數(shù)據(jù)封裝在一起
五、迭代器iter
一種容器類的數(shù)據(jù)類型瑞凑,屬于序列末秃。
a沒有具體的字面量
b可以將其他序列轉(zhuǎn)換為 迭代器 iter()
[if !supportLists]1、[endif]特點(diǎn)
???a只能通過next區(qū)一個(gè)個(gè)按順序取出元素
取出的元素迭代器中就不存在了
b在哪取都一樣
六籽御、生成器和生成式
a生成器就是迭代器练慕,但迭代器不一定是生成器
1、生成式是 一種特殊的生成器
(變量for變量 in 序列)
特點(diǎn):相當(dāng)于一個(gè)函數(shù)篱蝇,用一次順序調(diào)用一次
2贺待、生成器
就是函數(shù)體中有yield關(guān)鍵字 的函數(shù)
函數(shù)中只要有yield徽曲,那么調(diào)用函數(shù)不再執(zhí)行零截、獲得返回值,而是一個(gè)迭代器
yield相當(dāng)于 return
迭代器+函數(shù)功能秃臣,越界報(bào)錯(cuò)
七涧衙、文件操作
使用文件可以做數(shù)據(jù)的持久化(本地化)
-->數(shù)據(jù)庫文件哪工,txt,json弧哎,二進(jìn)制文件
所有文件操作過程:打開文件-->操作-->關(guān)閉
[if !supportLists]1雁比、[endif]文件讀寫
讀-->取出文件中的數(shù)據(jù)
寫-->將數(shù)據(jù)寫到文件中
2、打開關(guān)閉文件
??????open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
A撤嫩、file -->文件路徑
絕對(duì)路徑:D:\32890(不推薦)
相對(duì)路徑:./相對(duì)路徑
相對(duì)于當(dāng)前py文件對(duì)應(yīng)的文件夾
B偎捎、mode -->文件打開方式
C、encoding -->文本文件的編碼方式
utf-8:幾乎支持所有的語言文字
gbk:只支持英文
D序攘、關(guān)閉文件
文件對(duì)象.close()
3茴她、操作
A、 讀
B程奠、 寫