26 復習
阿新 • • 發佈:2019-04-23
優先 ont === 了解 return 機械 *args == 變形
1、基礎語法
2、數據相關
數據類型(記住每種數據類型到底用來記錄什麽狀態)
每種數據類型相關的內置方法(優先掌握、需要掌握、了解)
文件處理
回收資源
f=open(‘a.txt‘,mode=‘rt‘,encoding=‘utf-8‘) f.close() print(f) with open(...) as f1,open(...) as f2: pass
文件指針移動到末尾:
f.seek(0,2)
3、函數:函數就是實現某一功能的工具
函數的基本使用(原則:先定義、後調用)
定義階段發生什麽事:只檢測語法,不執行代碼
def login(): # login=函數的內存地址 代碼1 代碼2 代碼3 print(login)
調用階段發生什麽事:執行函數體代碼
login()
函數參數
位置參數 位置形參 def func(x,y,z): pass 位置實參 func(1,2,3) 關鍵字 func(z=3,y=2,x=1) 默認形參 def register(name,sex=‘male‘): pass 可變長參數 * def func(x,*args): #args=(2,3,4,5) pass func(1,2,3,4,5) ** def index(x,y,z): pass def wrapper(*args,**kwargs): #args=(1,2,3,4) kwargs={‘a‘:1,‘b‘:2} index(*args,**kwargs) # index(*(1,2,3,4),**{‘a‘:1,‘b‘:2}===>index(1,2,3,4,a=1,b=2)wrapper(1,2,z=3)
名稱空間與作用域
閉包函數
裝飾器
叠代器
生成器
三元表達式、列表生成式、字典生成式
匿名函數與內置函數
遞歸
4、面向對象 面向對象的核心是對象二字,對象(對象就是容器、箱子)的精髓在於“整合”
面向過程編程思想: 核心是 過程 二字, 過程指的是解決問題的步驟是,即先幹什麽再幹什麽。
基於該編程思想編寫程序,相當於一條流水線,一種機械式的思維方式。
面向對象編程思想: 核心是 對象 二字,對象指的是數據與方法的結合體。也就是一個容器。
基於該編程思想編寫程序,就好比創造世界,一種上帝式的思維方式。
一 類與對象 對象是特征與技能結合體,即數據與方法。 類是一系列對象相似的特征與技能的結合體,即相似的數據與方法。 二 面向對象三大特性 封裝: 把一堆數據屬性與方法屬性 整合 到對象裏面。 隱藏: __屬性 ---> 把屬性變形了,即隱藏起來了! 繼承: 父類是一些列類共有的數據屬性與方法屬性的結合體。 子類可以繼承父類的屬性,還可以派生出自己獨有的屬性。 組合: 1.即繼承父類的屬性,且不與父類耦合到一起。 2.把一個對象放到另一個對象裏面。 組合是繼承的一種應用。 多態: 1.抽象類 2.鴨子類型 三 對象的綁定方法 給對象用的,由對象來調用,會自動把對象本身當作第一個參數傳給self。 四 classmethod、staticmethod、property classmethod本質上是一個裝飾器,裝飾給類裏面的方法。 被裝飾的方法,即類的綁定綁法。 五 組合 六 面向對象高級 1、反射: 通過 字符串 來操作類與對象的屬性。 hasattr() 判斷對象或者類的屬性是否存在! getattr() 獲取對象或者類的屬性 參數1: 對象 參數2: ‘屬性名‘ 參數3: 默認值 setattr() 設置對象或者類的屬性 delattr() 刪除對象或者類的屬性 2、類的內置方法 __init__(): 調用類的時候自動觸發__init__。 __str__(): 打印對象的時候出發此方法。 (此方法內,必須return一個字符串) __del__(): 在對象 占用空間被清掉了,會自動觸發__del__方法的執行。 __setattr__(): 修改對象的屬性會自動觸發此方法的執行。 __deleter__: 刪除屬性的時候會自動觸發。 __call__: 調用對象的時候會自動觸發。 講元類的時候會有用!
5、模塊與包
26 復習