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

python_Daily practice (每日一練) 96

系統 1775 0

關卡二:

1.練習題1
面向對象的理解
要求:
在類內定義一個可以重新設置私有屬性name的函數條件為字符串長度小于10,才可以修改.
答:

            
              def SetName(self, newname):
         if len(newname) < 10:
             self.__name = newname
         else:
             print("error:名字太長!")

            
          

在創建一個類之后需要調用什么函數?
答:應調用__del__()函數.

del()方法是手動調用還是類默認調用?
答:手動調用

如何訪問對象的屬性?
答:使用(.)來訪問對象的屬性

創建一個動物類,并通過init方法接受參數(name),并打印init被調用.

            
               class Animal(object):
 # 初始化方法
 # 創建完對象后會自動被調用
 def __init__(self, name):
     print('__init__方法被調用')
     self.__name = name

            
          

在動物類中定義一個析構方法,使其在刪除的時候自動被調用,并打印del被調用.

            
               def __del__(self):
     print("__del__方法被自動調用")

實例化一個dog對象取名"八公"
 dog = Animal("八公")

將實例dog賦值給dog1和dog2.
 dog1 = dog
 dog2 = dog

 print(" 刪除dog對象")
 del dog
 print(" 刪除dog1對象")
 del dog1
 print(" 刪除dog2對象")
 del dog2

            
          

觀察運行結果發現什么問題?
答:只有當第三個對象被刪除的時候,dog對象才被正真的刪除.

上述結果說明什么問題?
答:

  1. 當有1個變量保存了對象的引用時,此對象的引用計數就會加1
  2. 當使用del刪除變量指向的對象時,如果對象的引用計數不會1,比如3,那么此時只會讓這個引用計數減1,即變為2,當再次調用del時,變為1,如果再調用1次del,此時會真的把對象進行刪除

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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 银川市| 东阿县| 江达县| 琼中| 福贡县| 稷山县| 平顶山市| 海盐县| 巴楚县| 上林县| 大关县| 沙坪坝区| 龙州县| 荣昌县| 怀仁县| 琼海市| 那坡县| 鄂托克旗| 娄烦县| 汨罗市| 怀来县| 武山县| 喜德县| 华宁县| 五台县| 宜州市| 威远县| 桦川县| 沂水县| 名山县| 吉木乃县| 姜堰市| 南漳县| 汉源县| 合江县| 阳春市| 余干县| 安溪县| 荃湾区| 图们市| 栾城县|