1. 程式人生 > >Python筆記 【無序】 【五】

Python筆記 【無序】 【五】

生成器 推導 pri -- 內容 form strong ron 測試

描述符

將某種特殊類型的類【只要實現了以下或其中一個】的實例指派給另一個類的屬性

1.__get__(self,instance,owner)//訪問屬性,返回屬性的值

2.__set__(self,instance,value)//將在屬性分配【即賦值】中調用,不返回任何內容

3.__delete__selfinstance//控制刪除操作,不反回任何內容

技術分享圖片

重寫property

技術分享圖片

Del ---delete

練習

技術分享圖片

技術分享圖片

定制序列【定制容器】 容器---序列【字符串,元組,列表】+映射類型【字典】

技術分享圖片

技術分享圖片

技術分享圖片

練習 不可變類型 記錄每個元素的訪問次數

技術分享圖片

*args表示參數可變數量

self.values = [x for x in args] //列表推導式的形式,把參數放到列表values

接著第二行為字典的初始化操作,鍵值對---數值-訪問次數【全化為0】的形式

叠代器

【提供叠代方法的容器稱為叠代器】 ---as字典,字符串,元組

常利用for循環!

for i in “xxxxx”:

Print(i)

叠代器內置函數:

iter(xxx) 容器對象調用iter()得到叠代器

nextxxx返回下一個值,沒有值可以返回了,python就拋出StopIteration的異常

string = "ssada"

a = iter(string)

技術分享圖片

叠代器的魔法方法:

__iter__()

__next__()

技術分享圖片

生成器【特殊的函數,可終端、暫停可暫時交還控制權】

技術分享圖片

技術分享圖片

生成器【特殊的叠代器,是他的一個實現】

函數中有yield語句,此函數被定義為生成器

斐波那契數列:

技術分享圖片

列表推導式:

技術分享圖片

字典推導式:

技術分享圖片

集合推導式:

技術分享圖片

生成器推導式

技術分享圖片

()括起來的,,,,,,

yield = return //不過有暫停功能

模塊【更高級的封裝】

技術分享圖片

即保存了一個.py的程序文件即是模塊

導入模塊

1.

import xx

xx.yy() ----使用導入模塊中的方法

2.

form 模塊名 import 函數名

yy()

3.

import 模塊名 as 新名字

x.yy() ----使用導入模塊中的方法

__name____main__、搜索路徑和包

可以在每個模塊後編寫測試方法 ---

def test():

……

test() //調用

防止模塊中測試方法在主程序中被使用顯示

__name__

‘__main__‘ //主程序中如此顯示

xx.__name__

顯示模塊名‘ //模塊中如此顯示

技術分享圖片

搜索路徑

技術分享圖片

技術分享圖片

import 包名.模塊名

Python筆記 【無序】 【五】