python內置函數之vars()


vars([object])

返回__dict__屬性的值。
當不傳入參數時,和locals()等效。
當函數接收一個參數時,參數可以是模塊、類、類實例,或者定義了__dict__屬性的對象。

>>> vars(A)
mappingproxy({'__module__': '__main__', 'infoA': 'A', '__dict__': <attribute '__dict__' of 'A' objects>,
 '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None})
>>> class B:
...   __dict__ = 'tom'
...
>>> b = B()
>>> b.__dict__
'tom'
>>> vars(b)
'tom'

 

拓展

模塊都有__dict__屬性。

這是包含模塊符號表的字典。

修改這個字典實際上會改變模塊的符號表,但直接賦值給__dict__屬性是不可能的(你可以寫m .__ dict __ ['a'] = 1,將ma定義為1,但是你不能寫m .__ dict__ = {})。

不建議直接修改__dict__

模塊表示方法

#內置模塊
>>> json
<module 'json' from 'D:\\python\\python3.6\\lib\\json\\__init__.py'>
#非內置模塊
>>> sys
<module 'sys' (built-in)>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM