property屬性與生成器與上下文管理器

2021-10-24 08:22:25 字數 786 閱讀 3383

一 定義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。容器 簡單來說 容器是一系列元素的集合 容...