版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Python基礎(chǔ)課教室講師:式微 時間:2018年9月教學(xué)監(jiān)督熱線 教學(xué)監(jiān)督熱線 01020304必須掌握:super的用法必須掌握: _str_ _repr_ _call_ 方法了解:多繼承方法解析順序和Mixin開發(fā)模式了解:魔術(shù)方法原理和作用知識點回顧本節(jié)知識點01. _new_方法02. 定制屬性訪問03. 描述符教學(xué)監(jiān)督熱線 04. 裝飾器PART ONE_new_方法教學(xué)監(jiān)督熱線 思考01類每次實例化的時候都會創(chuàng)建一個新的對象,如果要求類只能被實例化一次該怎么做呢?_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)在上面的例子中,我們可以看到兩個實例的ID是相同的意味著這兩個其實引用的是同一個實例,是一個實例的不同名字_new_方法初始化函數(shù)之前單例模式合理利用_new_ 方法合理利用可以帶來方便,常應(yīng)用在類的單例模式利用這個 _new_ 可以很方便的實現(xiàn)類的單例模式_new_方法會在初始化函數(shù) _init_ 之前
3、執(zhí)行_new_方法總結(jié)必須掌握:_new_ 方法的運行順序了解:使用 _new_ 方法的單例模式應(yīng)用PART TWO定制屬性訪問教學(xué)監(jiān)督熱線 思 考010203如何判斷一個實例里面有某個屬性呢?怎樣刪除實例屬性呢?同樣的怎樣刪除變量呢?定制屬性訪問03 04 02 re = Rectangle(3, 4) # 矩形類實例改: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定制屬性訪問re = Rectangle(3, 4) # 矩形類實例當(dāng)屬性不存在時,如果定義了此方法,則調(diào)用方法01def _getattr_(self, item): print(no attribute)定制屬性訪問b.lengthb._getattribute_(length)屬性值存在屬性值不存在返回屬性值調(diào)用_getattr_未定義時報錯定制屬性訪問hasattrgetattrsetattr設(shè)置屬性得到屬性值判斷是否存在屬性,如果屬
6、性存在則進(jìn)行下一步操作定制屬性訪問總結(jié)必須掌握:hasattr getattr setattr了解: _getattribute_熟悉: 屬性調(diào)用規(guī)則PART THREE描述符教學(xué)監(jiān)督熱線 思 考01如果在一個類中實例化另一個類,對這個屬性進(jìn)行訪問的時候怎么做的?描述符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這類里面實例化另一個類,對這個實例做訪問時,需要定義 _get_ _set_ _delete_ 方法魔術(shù)方法描述符大家了解即可魔術(shù)方法的作用其實是讓開發(fā)人員能夠更加靈活的控制類的表現(xiàn)形式描述符總結(jié)了解描述符即可PART FOUR裝飾器教學(xué)監(jiān)督熱線 思 考01之前我們講了閉包,閉包中可以傳入一個函數(shù)嗎?裝飾器上面這里實現(xiàn)了給函數(shù)的結(jié)果加1的功能內(nèi)置裝飾器類裝飾器類也可以做裝飾器,但是需要定義 _call_ 方法裝飾器參考裝飾器修飾函數(shù)增加功能內(nèi)置裝飾器三個內(nèi)置裝飾器是需要掌握的,在項目中會經(jīng)常使用給函數(shù)增加功能修飾函數(shù)裝飾器總結(jié)必須掌握:裝飾器概念和用法必須掌握:三個內(nèi)置裝飾器的用法本節(jié)知識點回顧必須掌握:_new_方法的運行順序必須掌握:裝飾器的概念的用法必須掌握:三個內(nèi)置裝飾器了解:類中屬性的訪問過程作 業(yè)把上課的例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國動態(tài)圖像分析儀行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國自動粉末噴涂系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球可生物降解微膠囊解決方案行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球生物分析測試行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國高壓清洗機噴槍行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 幼兒園科學(xué)討論活動概述模塊二幼兒園科學(xué)探究活動講解
- 必殺08 第九、十單元 西半球的國家和極地地區(qū)(綜合題20題)(解析版)
- 猜想02 重難點(70道題25個重難點)【考題猜想】(解析版)
- 2025我國合同法對合同效力的規(guī)定
- 合法的房屋租賃合同
- 消防維保服務(wù)方案及實施細(xì)則
- 保衛(wèi)管理員培訓(xùn)課件
- 香港朗文4B單詞及句子
- 數(shù)據(jù)中心運維方案
- 小龍蝦啤酒音樂節(jié)活動策劃方案課件
- 運動技能學(xué)習(xí)與控制課件第五章運動中的中樞控制
- 財務(wù)部規(guī)范化管理 流程圖
- 蘇教版2023年小學(xué)四年級數(shù)學(xué)下冊教學(xué)計劃+教學(xué)進(jìn)度表
- 斷絕關(guān)系協(xié)議書范文參考(5篇)
- 量子力學(xué)課件1-2章-波函數(shù)-定態(tài)薛定諤方程
- 最新變態(tài)心理學(xué)課件
評論
0/150
提交評論