一 定義property屬性有兩種方式:
裝飾器方式
類屬性方式
1.1裝飾器方式:
@property 修飾獲取值的方法
@方法名.setter 修飾設定值的方法
1.2類屬性方式:
類屬性 = property(獲取值方法, 設定值方法)
1.3 property屬性的介紹
property屬性就是負責把乙個方法當做屬性進行使用,這樣做可以簡化**使用
二 上下文管理器
乙個類只要實現了__enter__()和__exit__()這個兩個方法,通過該類建立的物件我們就稱之為上下文管理器。
三 生成器
3.1生成器是根據演算法生成資料的一種機制,每次呼叫生成器只生成乙個值,可以節省大量記憶體。
3.2生成器的建立有兩種方式:
生成器推導式
yield 關鍵字
3.3 生成器推導式:
與列表推導式類似,只不過生成器推導式使用小括號
3.4 yield 關鍵字:
只要在def函式裡面看到有 yield 關鍵字那麼就是生成器
函式與生成器
一 函式屬性 函式可以在內部建立預設的屬性,還可以在外部通過句點屬性識別符號來動態建立該函式的屬性。def foo foo properly created doc string def bar pass foo.doc foo properly created doc string bar.doc...
函式與生成器
一 函式 1.1 函式的關鍵字 def 定義函式 return 返回值 pass 佔位 exit 1 直接退出並返回1 1.2 高階函式 高階函式都是可以通過 邏輯實現,但是自己寫的函式的複雜程度或者演算法不一定有人家內建的好 map高階函式 def f x return x x print map...
迭代器與生成器
可迭代物件 可以直接作用於for迴圈的物件 統稱為可迭代物件 返回迭代器的物件 即iterable。一是集合資料型別,如list tuple dict set str等 二是generator,包括生成器和帶yield的generator function。容器 簡單來說 容器是一系列元素的集合 容...