一句話簡介:拿到物件是的該屬性
class test:
age = 10
def __init__(self):
self.name = 'donald'
@staticmethod
def ***():
return 'man'
print(getattr(test, 'age'))
print(getattr(test, '***')())
-----
10man
a = {}
a['hello'] = 'world'
print(getattr(a, 'hello'))
-----
traceback (most recent call last):
file "", line 1, in attributeerror: 'dict' object has no attribute 'hello'
print(dir(a))
-----
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
****
print(getattr(a, '__str__'))
print(getattr(a, '__str__')())
-----
__getattr__
方法class test:
age = 10
def __init__(self):
self.name = 'donald'
@staticmethod
def ***():
print('in ***')
return 'man'
def __str__(self):
print('in str')
return str(self.name)
def __getattr__(self, item):
return f',沒有這個屬性,訪問錯誤'
if __name__ == '__main__':
p = test()
print(p.age)
print(p)
print(p.***())
print(p.sss)
-----
10in str
donald
in ***
mansss,沒有這個屬性,訪問錯誤
-3、在訪問例項sss的時候,因為在例項物件和類的__dict__
都找到不到,所以會呼叫該函式 Python getattr 函式的介紹
getattr 函式用於返回乙個物件屬性值。getattr 語法 getattr object,name default 返回物件屬性值。以下例項展示了 getattr 的使用方法 class a object bar 1 a a getattr a,bar 獲取屬性 bar 值 1 getattr...
《程式設計之美》背後的作者之美
中文站總編輯 霍泰穩收到 程式設計之美 這本書的時候,我是悲喜交集的。喜的是可以從中了解一下微軟是如何做面試的,和其他的軟體公司有什麼區別,這可能是我長期從事編輯的毛病,遇事總愛比較一番 悲的是我發現上面的絕大多數面試題目我都看不懂,更悲的是我還是乙個計算機科班出身的人,看來今後再也不能隨便給別人吹...
北方的冬天 美
隨著秋天的腳步漸漸遠去.冬的腳步輕輕的來臨了,冬它不像春柔美 夏的火辣 秋的蕭肅。冬用自己的特色,展示著它的美 如果說綠意是人們吟誦亙古不變的主題,那麼冷峻的冬,更有它絕佳的魅力和偉岸。尤其是北方的冬天,敞開它那寬大的胸襟,迎接那呼嘯的西北風的洗禮,寬闊的大地竟不起一塵沙粒,這是我們北方人特有的不屈...