Einführung in die Verwendung von hasattr(), getattr() und setattr() in Python (Codebeispiel)

不言
Freigeben: 2018-12-30 10:49:19
nach vorne
2112 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Verwendung von hasattr(), getattr() in Python (Codebeispiele). Ich hoffe, dass dies der Fall ist Dir helfen.

1. hasattr(object, name)

Bestimmen Sie, ob das Objekt ein Namensattribut enthält. Wenn ja, wird True zurückgegeben, wenn nicht , es wird False zurückgegeben.

class MyClass(object):
    name = 'jack'
    age = '22'


obj = MyClass()
print(hasattr(obj, 'name'))  # True
print(hasattr(MyClass, 'age'))  # True
print(hasattr(obj, 'gender'))  # False
Nach dem Login kopieren

2. getattr(object, name, [default])

wird verwendet, um die Attribute oder Methoden des Objekts abzurufen und sie auszudrucken, wenn sie verfügbar sind . Wenn nicht, geben Sie den Standardwert aus. Wenn der Standardwert nicht festgelegt ist, wird ein Fehler gemeldet

class MyClass(object):
    name = 'jack'
    age = '22'

    def func(self):
        return 'hello world!!!'


obj = MyClass()

print(getattr(MyClass, 'name'))  # jack
print(getattr(obj, 'age'))  # 22
print(getattr(MyClass, 'func'))  # <function MyClass.func at 0x000001ACDE9A9AE8>
print(getattr(obj, 'func'))  # <bound method MyClass.func of <__main__.MyClass object at 0x000001D1505D01D0>>
# print(getattr(MyClass, 'func1'))  # 没有设置默认值,找不到方法会报错: AttributeError: type object 'MyClass' has no attribute 'func1'
print(getattr(MyClass, 'func1', None))  # 设置了默认值None,找不到就会返回默认值: None

print(getattr(MyClass, 'func')('self'))  # hello world!!!
print(getattr(obj, 'func')())  # hello world!!!
Nach dem Login kopieren

3 > wird verwendet, um dem Attributschlüssel des Objekts einen Wert zuzuweisen. Wenn der Schlüssel nicht vorhanden ist, erstellen Sie zuerst den Attributschlüssel und weisen Sie ihm dann einen Wert zu >Verwenden Sie die drei Methoden zusammen:

class MyClass(object):
    name = 'jack'
    age = '22'


obj = MyClass()

setattr(MyClass, 'name', 'tom')
print(getattr(MyClass, 'name'))  # tom

setattr(obj, 'age', 28)
print(getattr(obj, 'age'))  # 28

setattr(MyClass, 'gender', 'male')
print(getattr(MyClass, 'gender'))  # male
print(getattr(obj, 'gender'))  # male

setattr(obj, 'hobby', 'skating')
print(obj, 'hobby')  # <__main__.MyClass object at 0x00000209F5070630> hobby
print(MyClass, 'hobby')  # <class &#39;__main__.MyClass&#39;> hobby
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von hasattr(), getattr() und setattr() in Python (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage