




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Python基礎(chǔ)課教室講師:式微 時(shí)間:2018年9月教學(xué)監(jiān)督熱線 教學(xué)監(jiān)督熱線 01020304必須掌握:super的用法必須掌握: _str_ _repr_ _call_ 方法了解:多繼承方法解析順序和Mixin開(kāi)發(fā)模式了解:魔術(shù)方法原理和作用知識(shí)點(diǎn)回顧本節(jié)知識(shí)點(diǎn)01. _new_方法02. 定制屬性訪問(wèn)03. 描述符教學(xué)監(jiān)督熱線 04. 裝飾器PART ONE_new_方法教學(xué)監(jiān)督熱線 思考01類每次實(shí)例化的時(shí)候都會(huì)創(chuàng)建一個(gè)新的對(duì)象,如果要求類只能被實(shí)例化一次該怎么做呢?_new_方法class Earth: def _new_(cls): if not hasattr(cls, ins
2、tance): cls.instance = super()._new_(cls) return cls.instance def _init_(self): = earthe = Earth()print(e, id(e)a = Earth()print(a, id(a)在上面的例子中,我們可以看到兩個(gè)實(shí)例的ID是相同的意味著這兩個(gè)其實(shí)引用的是同一個(gè)實(shí)例,是一個(gè)實(shí)例的不同名字_new_方法初始化函數(shù)之前單例模式合理利用_new_ 方法合理利用可以帶來(lái)方便,常應(yīng)用在類的單例模式利用這個(gè) _new_ 可以很方便的實(shí)現(xiàn)類的單例模式_new_方法會(huì)在初始化函數(shù) _init_ 之前
3、執(zhí)行_new_方法總結(jié)必須掌握:_new_ 方法的運(yùn)行順序了解:使用 _new_ 方法的單例模式應(yīng)用PART TWO定制屬性訪問(wèn)教學(xué)監(jiān)督熱線 思 考010203如何判斷一個(gè)實(shí)例里面有某個(gè)屬性呢?怎樣刪除實(shí)例屬性呢?同樣的怎樣刪除變量呢?定制屬性訪問(wèn)03 04 02 re = Rectangle(3, 4) # 矩形類實(shí)例改:setattr(b, length, 6)b._setattr_(length, 5)增:b.aaa = 1setattr(b, bbb, 2)b._setattr_(ccc, 3)刪:delattr(b, ccc)b._delattr_(bbb)del b01查:hasa
4、ttr(re, length)# 返回bool值getattr(re, length)# 返回屬性值b. _getattribute_(length) # 返回屬性值getattr(object,name,default) hasattr(object,name)setattr(object,name,value) = valuedelattr(object,name) del getattr / hasattr / setattr / delattrdef hasattr(object, name_string): try:
5、 getattr(object, name_string) return True except AttributeError: return False定制屬性訪問(wèn)re = Rectangle(3, 4) # 矩形類實(shí)例當(dāng)屬性不存在時(shí),如果定義了此方法,則調(diào)用方法01def _getattr_(self, item): print(no attribute)定制屬性訪問(wèn)b.lengthb._getattribute_(length)屬性值存在屬性值不存在返回屬性值調(diào)用_getattr_未定義時(shí)報(bào)錯(cuò)定制屬性訪問(wèn)hasattrgetattrsetattr設(shè)置屬性得到屬性值判斷是否存在屬性,如果屬
6、性存在則進(jìn)行下一步操作定制屬性訪問(wèn)總結(jié)必須掌握:hasattr getattr setattr了解: _getattribute_熟悉: 屬性調(diào)用規(guī)則PART THREE描述符教學(xué)監(jiān)督熱線 思 考01如果在一個(gè)類中實(shí)例化另一個(gè)類,對(duì)這個(gè)屬性進(jìn)行訪問(wèn)的時(shí)候怎么做的?描述符class MyAtrribute: def _get_(self, instance, owner): print(get) def _set_(self, instance, value): print(set) def _delete_(self, instance): print(del)class MyClass: m
7、 = MyAtrribute() def _del_(self): print(instance delete)c = MyClass()c.mc.m = 1del c.m這類里面實(shí)例化另一個(gè)類,對(duì)這個(gè)實(shí)例做訪問(wèn)時(shí),需要定義 _get_ _set_ _delete_ 方法魔術(shù)方法描述符大家了解即可魔術(shù)方法的作用其實(shí)是讓開(kāi)發(fā)人員能夠更加靈活的控制類的表現(xiàn)形式描述符總結(jié)了解描述符即可PART FOUR裝飾器教學(xué)監(jiān)督熱線 思 考01之前我們講了閉包,閉包中可以傳入一個(gè)函數(shù)嗎?裝飾器上面這里實(shí)現(xiàn)了給函數(shù)的結(jié)果加1的功能內(nèi)置裝飾器類裝飾器類也可以做裝飾器,但是需要定義 _call_ 方法裝飾器參考裝飾器修飾函數(shù)增加功能內(nèi)置裝飾器三個(gè)內(nèi)置裝飾器是需要掌握的,在項(xiàng)目中會(huì)經(jīng)常使用給函數(shù)增加功能修飾函數(shù)裝飾器總結(jié)必須掌握:裝飾器概念和用法必須掌握:三個(gè)內(nèi)置裝飾器的用法本節(jié)知識(shí)點(diǎn)回顧必須掌握:_new_方法的運(yùn)行順序必須掌握:裝飾器的概念的用法必須掌握:三個(gè)內(nèi)置裝飾器了解:類中屬性的訪問(wèn)過(guò)程作 業(yè)把上課的例
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛質(zhì)押貸款專項(xiàng):二手車質(zhì)物抵押借款合同
- 企業(yè)團(tuán)結(jié)的課件教學(xué)
- 餐飲門(mén)店裝修設(shè)計(jì)租賃服務(wù)合同
- 企業(yè)四新教育課件
- 農(nóng)產(chǎn)品存放租賃及保鮮服務(wù)合同
- 旅游度假村場(chǎng)推廣運(yùn)營(yíng)合同
- 高速鐵路站場(chǎng)場(chǎng)地與高鐵設(shè)備租賃服務(wù)協(xié)議
- 沉井基礎(chǔ)施工勞務(wù)合作及施工技術(shù)支持服務(wù)合同
- 青春相關(guān)面試題及答案
- 魚(yú)塘捕魚(yú)測(cè)評(píng)方案
- 公選副科考試試題及答案
- 2025至2030高壓氧艙行業(yè)市場(chǎng)深度調(diào)研及發(fā)展前景趨勢(shì)與投融資報(bào)告
- 熱控專業(yè)考試題庫(kù)及答案
- 2025年克拉瑪依市公安局招聘警務(wù)輔助人員考試筆試試題(含答案)
- 中國(guó)陶瓷史題目及答案
- 湖北省2025年中考英語(yǔ)真題試卷(含答案)
- 高齡臥床高危靜脈血栓栓塞癥防治中國(guó)專家共識(shí)解讀 2
- 護(hù)理查房與病歷討論
- 2025至2030兒童安全椅市場(chǎng)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 酒精所致精神障礙護(hù)理查房
- 2025-2030中國(guó)遙控武器站行業(yè)現(xiàn)狀調(diào)研與前景趨勢(shì)預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論