日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python核心基礎(二):魔法函數

系統 1761 0

一:什么是魔法函數

? ? ?看一個簡單的例子:

            
              class Company:
    def __init__(self, employee__list):
        self.employee = employee__list

company = Company(['tom','jack','jane'])
employee = company.employee
for item in employee:
    print(item)

            
          

打印結果無疑是tom,jack,jane。那么換一種方式,使用Python的魔法函數:

            
              class Company:
    def __init__(self, employee__list):
        self.employee = employee__list
    def __getitem__(self, item):
        return self.employee[item]

company = Company(['tom','jack','jane'])
# employee = company.employee
# for item in employee:
#     print(item)
for item in company:
    print(item)

            
          

打印結果跟上面的結果是一致的。在使用了__getitem__的魔法函數后,在對company對象進行遍歷的時候,會去尋找該函數進行遍歷操作。即擁有__getitem__函數的對象會自動變為可迭代的類型。

什么是魔法函數?

? ? ? ? python內置的以雙下劃線開頭并以雙下劃線結尾的函數(不能自己定義)。

Python內置了相當多的魔法函數,這些魔法函數具有各自的作用,比如在創建類的時候定義了__getitem__函數,你就可以對該類的對象進行遍歷,切片等操作,如果沒有定義相關的魔法函數,這些操作是會報異常的。

對于Python的相關魔法函數的介紹可以看一下這篇文章:

https://segmentfault.com/a/1190000007256392

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 辽宁省| 冀州市| 义乌市| 昌图县| 河池市| 肃南| 宣威市| 邹城市| 朝阳市| 天峻县| 札达县| 武宣县| 宝坻区| 陆川县| 河间市| 建水县| 时尚| 伊金霍洛旗| 海南省| 江门市| 通道| 合水县| 专栏| 武山县| 高碑店市| 磴口县| 靖州| 余庆县| 眉山市| 牟定县| 舞钢市| 沂水县| 鸡东县| 乐清市| 榆中县| 五河县| 宜兴市| 定兴县| 徐闻县| 永清县| 扬州市|