python全棧開發14
阿新 • • 發佈:2018-06-20
als pri cti 獲取 內存地址 locals 調用 file int
自己用python代碼寫的叠代器就是生成器
生成器本身就是叠代器
生成器的表達式和列表推倒式
1.列表推導式
[變量(加工後的變量) for 變量 in iterable(叠代對象)] # 循環模式
[變量(加工後的變量) for 變量 in iterable if 條件] # 篩選模式
2.生成器表達式:和列表表達式一樣只是括號不一樣
叠代器的優點:
1.節省內存
2.惰性機制
3.單向,不可逆
如何判斷它是否是可叠代對象和叠代器
可叠代對象->叠代器
可叠代對象__iter__():就會變成叠代器
1.‘__iter__‘in dir(obj):True或Flase,返回True就代表他是可叠代對象
2.引入模塊
from collections import Iterator(叠代器)
print(isinstance(參數名,Iterator)
from collections import Iterable(叠代對象)
print(isinstance(參數名,Itera)ble
生成器:
自己用python代碼寫的叠代器就是生成器
生成器本身就是叠代器
生成器的表達式和列表推倒式
1.列表推導式
[變量(加工後的變量) for 變量 in iterable(叠代對象)] # 循環模式
[變量(加工後的變量) for 變量 in iterable if 條件] # 篩選模式
2.生成器表達式:和列表表達式一樣只是括號不一樣
(變量(加工後的變量) for 變量 in iterable(叠代對象)) # 循環模式
(變量(加工後的變量) for 變量 in iterable if 條件) # 篩選模式
優點:1.節省代碼
缺點:不好排錯
整體:凡是用列表推導式構造的,用其它方式也可以,非常復雜的列表,列表推導式是構造不出來的
內置函數
1.1作用域相關
a =33 b = 22 def func(): a = 1 print(globals(),‘\n‘,locals()) func()
1.21其他相關
字符串類型代碼的執行 eval,exec,complie
print(eval(‘1*2*3*4*5*6*7*8*9‘)) li = """ for i in range(10): print(i) """ exec(li)
1.22輸入輸出相關print 和 input
k = print(1,2,4,6,sep=‘******‘,end=‘‘) with open(‘試驗品.txt‘,‘w‘,encoding=‘utf-8‘) as f: print(‘111111111111‘,1111,file=f,sep=‘****‘) print(‘111111111111‘,1111,file=f,sep=‘****‘) print(‘111111111111‘,1111,file=f,sep=‘****‘)
1.23內存相關hash():獲取一個可哈希對象的哈希值,id(返回內存地址)
print(hash(1020000000000000000))# 數字最多19個才能保證可哈希值和數值一樣,超過的話就會變成別的 print(hash(‘1111111111111111111‘)) # 哈希字符串 print(hash((1,2,3,4))) # 哈希元組 print(hash(True)) # 哈希bool值
1.24文件打開和模塊相關操作open()和import()函數用於動態加載類和函數
open:函數用於打開一個文件,創建一個 file 對象,相關的方法才可以調用它進行讀寫 1.25 help():幫助 a = 1 help(a)#查看幫助
1.26 調用相關 callable()能調用返回True 不能調用返回False按 Ctrl+C 復制代碼 按 Ctrl+C 復制代碼
python全棧開發14