Python查看模塊中的屬性
內(nèi)置函數(shù)dir可用于列出某模塊中定義了哪些屬性(全局名稱空間)。完整的說(shuō)明見(jiàn)help(dir)。
importb
dir(b)
輸出結(jié)果:
['__builtins__','__cached__','__doc__','__file__','__loader__','__name__','__package__','__spec__','f','g','x','y','z']
可見(jiàn),模塊的屬性中除了自己定義的屬性外,還有一些內(nèi)置的屬性,比如上面以__開(kāi)頭和結(jié)尾的屬性。
如果dir()不給任何參數(shù),則輸出當(dāng)前環(huán)境下定義的名稱屬性:
>>>importb
>>>x=3
>>>aaa=333
>>>dir()
['__annotations__','__builtins__','__doc__','__loader__','__name__','__package__','__spec__','aaa','b','x']
每個(gè)屬性都對(duì)應(yīng)一個(gè)對(duì)象,例如x對(duì)應(yīng)的是int對(duì)象,b對(duì)應(yīng)的是module對(duì)象:
>>>type(x)
>>>type(b
既然是對(duì)象,那么它們都會(huì)有自己的屬性。例如:
>>>dir(x)
['__abs__','__add__','__and__','__bool__','__ceil__','__class__','__delattr__','__dir__','__divmod__','__doc__','__eq__','__float__','__floor__','__floordiv__','__format__','__ge__','__getattribute__','__getnewargs__','__gt__','__hash__','__index__','__init__','__init_subclass__','__int__','__invert__','__le__','__lshift__','__lt__','__mod__','__mul__','__ne__','__neg__','__new__','__or__','__pos__','__pow__','__radd__','__rand__','__rdivmod__','__reduce__','__reduce_ex__','__repr__','__rfloordiv__','__rlshift__','__rmod__','__rmul__','__ror__','__round__','__rpow__','__rrshift__','__rshift__','__rsub__','__rtruediv__','__rxor__','__setattr__','__sizeof__','__str__','__sub__','__subclasshook__','__truediv__','__trunc__','__xor__','bit_length','conjugate','denominator','from_bytes','imag','numerator','real','to_bytes']
所以,也可以直接dir某個(gè)模塊內(nèi)的屬性:
importb
dir(b.x)
dir(b.__name__)
dir()不會(huì)列出內(nèi)置的函數(shù)和變量,如果想要輸出內(nèi)置的函數(shù)和變量,可以去標(biāo)準(zhǔn)模塊builtins中查看,因?yàn)樗鼈兌x在此模塊中:
importbuiltins
dir(buildins)
除了內(nèi)置dir()函數(shù)可以獲取屬性列表(名稱空間),對(duì)象的__dict__屬性也可以獲取對(duì)象的屬性字典(名稱空間),它們的結(jié)果不完全一樣。詳細(xì)說(shuō)明參見(jiàn)dir()和__dict__屬性區(qū)別。
總的來(lái)說(shuō),獲取對(duì)象M中一個(gè)自定義的屬性age,有以下幾種方法:
M.age
M.__dict__['age']
sys.modules['M'].age
getattr(M,'age')
以上內(nèi)容為大家介紹了Python查看模塊中的屬性,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

相關(guān)推薦HOT
更多>>
python字符串和Java字符串
接下來(lái),又到了Python字符串與Java字符串PK的時(shí)刻。Java中有比較字符串的方法,即compareTo()方法與equals()方法,前一個(gè)方法逐一比較兩個(gè)字符...詳情>>
2023-11-05 21:58:02
用Python開(kāi)發(fā)一個(gè)簡(jiǎn)單的猜數(shù)字游戲
本文介紹如何使用Python制作一個(gè)簡(jiǎn)單的猜數(shù)字游戲。游戲規(guī)則玩家將猜測(cè)一個(gè)數(shù)字。如果猜測(cè)是正確的,玩家贏。如果不正確,程序會(huì)提示玩家所猜的...詳情>>
2023-11-05 21:40:12
跟蹤數(shù)據(jù)的Python技巧
了解如何運(yùn)用Python的某些數(shù)據(jù)對(duì)象,有利于保持井然有序的狀態(tài),避免在處理數(shù)據(jù)科學(xué)項(xiàng)目中的大量數(shù)據(jù)時(shí)出錯(cuò)。在數(shù)據(jù)科學(xué)項(xiàng)目中,有時(shí)想跟蹤數(shù)據(jù)...詳情>>
2023-11-05 20:37:09
Python之描述符
Descriptors(描述符)是Python語(yǔ)言中一個(gè)深?yuàn)W但很重要的一個(gè)黑魔法,它被廣泛應(yīng)用于Python語(yǔ)言的內(nèi)核,熟練掌握描述符將會(huì)為Python程序員的工具...詳情>>
2023-11-05 18:48:43熱門(mén)推薦
Python查看模塊中的屬性
沸Python之三目運(yùn)算
熱用于業(yè)余項(xiàng)目的優(yōu)秀 Python 庫(kù)
熱使用Black自由格式化Python
新python的十個(gè)第三方庫(kù)
python字符串和Java字符串
用Python開(kāi)發(fā)一個(gè)簡(jiǎn)單的猜數(shù)字游戲
入門(mén)Python的4大陷阱
為什么開(kāi)發(fā)人員喜歡在機(jī)器學(xué)習(xí)和人工智能項(xiàng)目中使用Python?
跟蹤數(shù)據(jù)的Python技巧
Python處理文件的幾個(gè)常用小知識(shí)
python經(jīng)典最短代碼實(shí)現(xiàn)排序的功能
Python 之模塊重載的五種方法
Python內(nèi)存分配
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點(diǎn)擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費(fèi)用
了解課程價(jià)格 -
優(yōu)惠活動(dòng)
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團(tuán)隊(duì)
了解師資團(tuán)隊(duì) -
實(shí)戰(zhàn)項(xiàng)目
獲取項(xiàng)目源碼 -
開(kāi)班地區(qū)
查看來(lái)校路線