91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python的類和實例的屬性有哪些

發布時間:2021-11-25 09:53:18 來源:億速云 閱讀:180 作者:iii 欄目:互聯網科技

這篇文章主要介紹“python的類和實例的屬性有哪些”,在日常操作中,相信很多人在python的類和實例的屬性有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python的類和實例的屬性有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

類命名空間與實例命名空間

創建類時會創建它的命名空間,用來存儲類中定義的所有名字,這些名字稱為屬性。屬性有兩種:一是數據,二是代碼塊(又稱函數或方法)。

創建實例時會創建它的命名空間,用來存放單向類指針和實例的屬性。實例可通過類指針訪問類的屬性,而類不能訪問實例的屬性。另外python支持多繼承,即類指針可以有多個。

訪問實例.屬性時,若在它的命名空間找不到,解釋器會通過類指針去類(父類、祖父類等)的命名空間里查找,若都沒有找到則報錯。

修改實例的屬性時,若在它的命名空間中有此屬性,則修改之。若實例無此屬性而類(父類、祖父類等)中有,則會在實例的命名空間中創建該屬性,并不會修改類(父類、祖父類)的屬性。

class Animal:kind = '動物'def __init__(self, name):self.name = namedef eat(self):print(f'{self.name}正在進食!')white_cat = Animal('白貓')white_cat.kind = '貓'print(white_cat.kind)print(Animal.kind)out:貓
動物

從上述案例中可以看到,修改實例white_cat的kind屬性,Animal的kind屬性不會變化。

關于self

self實質是實例在內存中的地址,在創建實例時會自動將它作為第一參數傳給類的__init__函數。

當然你也可以給它取別的名字,但改名會造成他人閱讀代碼很困惑,所以不建議改名!

類和實例的屬性

  1. 查看類和實例的屬性有兩種方法:
    dir(類名):列出屬性名列表。注意其中有很多是object類中定義的屬性。
    類名.__dict__:列出屬性字典,key為屬性名,value為屬性值。

  2. 類和實例常用的特殊屬性
    類名.__name__ 類的名字
    類名.__doc__ 類的說明文檔
    類名.__base__ 類的第一父類
    類名.__bases__ 類所有父類構成的元組
    類名.__dict__ 類的屬性字典
    類名.__module__ 類定義所在的模塊
    實例.__class__ 實例對應的類

這里舉一個特殊例子,通過實例的特殊屬性__class__來實例化另外一個實例:

class Animal:'''動物類'''kind = '動物'def __init__(self, name):self.name = namedef eat(self):print(f'{self.name}正在進食!')white_cat = Animal('白貓')white_cat.kind = '貓'black_dog = white_cat.__class__('黑狗')black_dog.kind = '狗'print(black_dog.kind)black_dog.eat()out:狗
黑狗正在進食!

到此,關于“python的類和實例的屬性有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

晋州市| 长沙市| 余干县| 绥江县| 岳池县| 凤城市| 浮梁县| 封开县| 武隆县| 南雄市| 靖江市| 土默特左旗| 沅江市| 加查县| 温泉县| 渝北区| 正定县| 库尔勒市| 鄂温| 东阿县| 黔江区| 拜泉县| 琼海市| 新营市| 雷山县| 教育| 濮阳市| 镇安县| 射洪县| 柯坪县| 栾城县| 锡林浩特市| 成都市| 水富县| 陆川县| 吉木乃县| 中超| 沧州市| 昆明市| 莱阳市| 永新县|