Heim > Artikel > Backend-Entwicklung > Funktionen Hasattr(), getattr(), setattr(), delattr() und Beispielcodes in Python3
Dieser Artikel stellt die Funktionen hasattr(), getattr(), setattr() und delattr() in Python3 im Detail anhand von Beispielcode vor. Er ist sehr gut und hat Referenzwert.
hasattr()-Funktion wird verwendet, um zu bestimmen, ob das entsprechende Attribut enthalten ist
Syntax:
hasattr(object,name)
Parameter:
Objekt--Objekt
Name--Zeichenfolge, Attributname
Rückgabewert:
if Wenn das Objekt dieses Attribut hat, gibt es True zurück, andernfalls gibt es False zurück
Beispiel:
class People: country='China' def __init__(self,name): self.name=name def people_info(self): print('%s is xxx' %(self.name)) obj=People('aaa') print(hasattr(People,'country')) #返回值:True print('country' in People.__dict__) #返回值:True print(hasattr(obj,'people_info')) #返回值:True print(People.__dict__) ##{'__module__': '__main__', 'country': 'China', '__init__': <function People.__init__ at 0x1006d5620>, 'people_info': <function People.people_info at 0x10205d1e0>, '__dict__': <attribute '__dict__' of 'People' objects>, '__weakref__': <attribute '__weakref__' of 'People' objects>, '__doc__': None}
Beschreibung:
getattr()-Funktion wird verwendet, um einen Objektattributwert zurückzugeben
Syntax:
getattr(object,name,default)
Parameter:
Objekt--Objekt
Name--Zeichenfolge, Objektattribut
default – Standardrückgabewert, wenn nicht. Die Bereitstellung dieses Parameters löst einen AttributeError aus, wenn kein Attribut vorhanden ist.
Rückgabewert:
Objektattributwert zurückgeben
class People: country='China' def __init__(self,name): self.name=name def people_info(self): print('%s is xxx' %(self.name)) obj=getattr(People,'country') print(obj) #返回值China #obj=getattr(People,'countryaaaaaa') #print(obj) #报错 # File "/getattr()函数.py", line 32, in <module> # obj=getattr(People,'countryaaaaaa') # AttributeError: type object 'People' has no attribute 'countryaaaaaa' obj=getattr(People,'countryaaaaaa',None) print(obj) #返回值None
Beschreibung:
setattr-Funktion, die zum Festlegen von Attributwerten verwendet wird. Das Attribut muss vorhanden sein
Syntax:
setattr(object,name,value)
Parameter:
Objekt--Objekt
Name--Zeichenfolge, Objektattribut
Wert--Attributwert
Rückgabewert:
Keine
class People: country='China' def __init__(self,name): self.name=name def people_info(self): print('%s is xxx' %(self.name)) obj=People('aaa') setattr(People,'x',111) #等同于People.x=111 print(People.x) #obj.age=18 setattr(obj,'age',18) print(obj.__dict__) #{'name': 'aaa', 'age': 18} print(People.__dict__) #{'__module__': '__main__', 'country': 'China', '__init__': <function People.__init__ at 0x1007d5620>, 'people_info': <function People.people_info at 0x10215d1e0>, '__dict__': <attribute '__dict__' of 'People' objects>, '__weakref__': <attribute '__weakref__' of 'People' objects>, '__doc__': None, 'x': 111}
Beschreibung:
delattr-Funktion wird zum Löschen von Attributen verwendet
delattr(x,'foobar) entspricht del x.foobar
Syntax:
setattr(object,name)
Parameter:
Objekt – Objekt
Name – muss eine Eigenschaft des Objekts sein
Rückgabewert:
Keine
Beispiel:
class People: country='China' def __init__(self,name): self.name=name def people_info(self): print('%s is xxx' %(self.name)) delattr(People,'country') #等同于del People.country print(People.__dict__) {'__module__': '__main__', '__init__': <function People.__init__ at 0x1006d5620>, 'people_info': <function People.people_info at 0x10073d1e0>, '__dict__': <attribute '__dict__' of 'People' objects>, '__weakref__': <attribute '__weakref__' of 'People' objects>, '__doc__': None}
Ergänzendes Beispiel:
class Foo: def run(self): while True: cmd=input('cmd>>: ').strip() if hasattr(self,cmd): func=getattr(self,cmd) func() def download(self): print('download....') def upload(self): print('upload...') # obj=Foo() # obj.run()
Verwandte Empfehlungen:
So zeigen Sie das Numpy-Array an Attribute in der Python3-Bibliothek
Das obige ist der detaillierte Inhalt vonFunktionen Hasattr(), getattr(), setattr(), delattr() und Beispielcodes in Python3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!