python-vars/dir

官方中英文解釋:

  • vars:返回具有__dict__屬性的模塊、類烈和、實例或任何其他對象的__dict__屬性阱飘。Return the __dict__ attribute for a module, class, instance, or any other object with a __dict__ attribute.

  • dir:如果對象具有名為的__dir__()方法,則將調(diào)用此方法并且必須返回屬性列表沥匈。如果對象未提供__dir__(),則該函數(shù)會盡力從對象的__dict__屬性(如果已定義)和類型對象中收集信息缰儿。If the object has a method named __dir__(), this method will be called and must return the list of attributes. If the object does not provide __dir__(), the function tries its best to gather information from the object’s __dict__ attribute, if defined, and from its type object.

個人理解:

  • vars:返回非私有屬性變量-值散址,不包括方法

  • dir:返回所有屬性,包括方法,(如果不重寫該魔法函數(shù))

例子:


import json

class A(object):
    def __init__(self):
        self.b = 'c'
        self.a = None
    def self_method(self):
        self.m = None
    def __repr__(self):
        print('vars : ', vars(self))
        print('dir : ', dir(self))
        return str(self.__class__) + ' : ' + json.dumps(vars(self), sort_keys=True, indent=4)

obj = A()

__repr__為交互式或print時候的打印值


>>> print(obj)
vars : {'a': None, 'b': 'c'}
dir : ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'a', 'b', 'self_method']
<class '__main__.A'> : {
    "a": null, 
    "b": "c"
}

>>> print(vars(obj))
{'a': None, 'b': 'c'}

>>> print(dir(obj))

['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'a', 'b', 'self_method']

調(diào)用函數(shù)后


>>> obj.self_method()
>>> print(obj)

vars : {'a': None, 'b': 'c', 'm': None}
dir : ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'a', 'b', 'm', 'self_method']
<class '__main__.A'> : {
    "a": null, 
    "b": "c", 
    "m": null
}
>>> print(vars(obj))

{'a': None, 'b': 'c', 'm': None}
>>> print(dir(obj))

['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'a', 'b', 'm', 'self_method']

先做記錄,如果之后發(fā)現(xiàn)理解有誤吏祸,再更改。

pass

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹈矮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泛鸟,更是在濱河造成了極大的恐慌,老刑警劉巖北滥,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碑韵,死亡現(xiàn)場離奇詭異缎脾,居然都是意外死亡,警方通過查閱死者的電腦和手機遗菠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豁遭,“玉大人贺拣,你說我怎么就攤上這事蓖谢∑┪校” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵盯腌,是天一觀的道長陨瘩。 經(jīng)常有香客問我,道長舌劳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任大诸,我火速辦了婚禮,結(jié)果婚禮上底挫,老公的妹妹穿的比我還像新娘。我一直安慰自己盈厘,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布沸手。 她就那樣靜靜地躺著注簿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诡渴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天惑灵,我揣著相機與錄音眼耀,去河邊找鬼。 笑死哮伟,一個胖子當著我的面吹牛狭瞎,可吹牛的內(nèi)容都是我干的煮寡。 我是一名探鬼主播名斟,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼谅辣,長吁一口氣:“原來是場噩夢啊……” “哼修赞!你這毒婦竟也來了桑阶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤割择,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后荔泳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡昧港,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年支子,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片值朋。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖趾代,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撒强,我是刑警寧澤糯俗,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布睦擂,位于F島的核電站,受9級特大地震影響顿仇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜臼闻,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一述呐、第九天 我趴在偏房一處隱蔽的房頂上張望惩淳。 院中可真熱鬧乓搬,春花似錦、人聲如沸进肯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至策泣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萨咕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工蓄喇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留交掏,地道東北人妆偏。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓钱骂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親见秽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 包(lib)、模塊(module) 在Python中返顺,存在包和模塊兩個常見概念。 模塊:編寫Python代碼的py...
    清清子衿木子水心閱讀 3,808評論 0 27
  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉振乏,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 1,719評論 0 9
  • 函數(shù)調(diào)用 Built-in Functions abs(x) Return the absolute value ...
    叫我七夜閱讀 1,174評論 0 0
  • 最近湊不齊人秉扑,只能自己孤孤單單地和電腦玩。雖然界面丑陋了一些舟陆,不過功能還齊全,拓展版也做了進去吨娜。關(guān)鍵在于不用人腦去...
    小樓閱讀 5,335評論 2 0
  • 真的好久沒有碼字了宦赠。離開上一個公司也差不多一個月了陪毡。 在這段不長的工作(實習(xí))時間里,也認識了許多優(yōu)秀的人...
    冰美式烏龍閱讀 244評論 0 1