>>classCapstr(str):#str是一個不可修改的類def__ne" />

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

Python筆記(二十二)_魔法方法_基本魔法方法

系統 1990 0

__init__(self[,...])

__init__和__new__組成python的構造器,但__init__更多的是負責初始化操作,相當于一個項目中的配置文件,__new__才是真正的構造函數,創建并返回一個實例對象,如果__new__只調用了一次,就會得到一個對象

?

__new__(cls[,...])

當繼承一個不可修改的類,但又想去修改的時候,需要重寫__new__方法

            >>>
            
              class
            
             Capstr(str):        
            
              #
            
            
              str是一個不可修改的類
            
            
              def
            
            
              __new__
            
            
              (cls,string):
    string 
            
            = 
            
              string.upper()
  
            
            
              return
            
             str.
            
              __new__
            
            
              (cls,string)  

            
            >>>a = Capstr(
            
              '
            
            
              i am Demi
            
            
              '
            
            
              )

            
            >>>
            
              a

            
            
              '
            
            
              I AM DEMI
            
            
              '
            
          

?

? __del__(self)

是對象的析造器,并非所有del操作都會調用__del__(),只有對象生成后,所有對它的引用都被del之后,才會啟動垃圾回收機制,才會調用__del__方法

            >>>
            
              class
            
            
               C:
  
            
            
              def
            
            
              __init__
            
            
              (self):
    
            
            
              print
            
            (
            
              '
            
            
              __init__方法正在被調用
            
            
              '
            
            
              )
  
            
            
              def
            
            
              __del__
            
            
              (self):
    
            
            
              print
            
            (
            
              '
            
            
              __del__方法正在被調用
            
            
              '
            
            
              )

            
            >>>c1=
            
              C()
  
            
            
              __init__方法正在被調用
            
            
>>>c2=
            
              c1

            
            >>>
            
              del
            
            
               c2

            
            >>>
            
              del
            
            
               c1

            
            
              __del__方法正在被調用
            
          

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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 新密市| 金寨县| 钟祥市| 上犹县| 含山县| 张家港市| 湖北省| 会同县| 桂东县| 大姚县| 兴宁市| 马山县| 霍林郭勒市| 弋阳县| 星子县| 佛坪县| 都昌县| 定日县| 黄浦区| 大新县| 门头沟区| 大悟县| 连州市| 通海县| 苏尼特右旗| 温宿县| 珲春市| 章丘市| 微山县| 砀山县| 托克托县| 开封市| 方正县| 故城县| 伊金霍洛旗| 罗源县| 巴彦淖尔市| 紫阳县| 九龙坡区| 泸西县| 杭锦后旗|