Heim >Backend-Entwicklung >Python-Tutorial >Einführung in die Verwendung von hasattr(), getattr() und setattr() in Python (Codebeispiel)

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

不言
不言nach vorne
2018-12-30 10:49:192146Durchsuche

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

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!!!

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen