Methode zur Bestimmung von Objektattribut -Existenz
Diese Anfrage befriedigt eine Methode, um das Vorhandensein eines bestimmten Attributs in einem Objekt zu überprüfen. Betrachten Sie das folgende Beispiel, in dem ein Versuch, auf eine undefinierte Eigenschaft zuzugreifen
>>> A.Property
Traceback (letzte Anruflast):
Datei "
>>> a = SomeClass() >>> a.property Traceback (most recent call last): File "Lösung: Nutzung der HasAttr () -Funktion", line 1, in AttributeError: SomeClass instance has no attribute 'property'
Um dieses Problem zu lösen Stellen Sie fest, ob ein Objekt das gewünschte Attribut besitzt. Dieser Ansatz beinhaltet die Angabe des Objekts und des Attributs, das Sie überprüfen möchten, wie unten gezeigt:
wenn hasattr (a, 'Eigenschaft'): A.Property
>>> a = SomeClass() >>> a.property Traceback (most recent call last): File "Alternative Überlegungen", line 1, in AttributeError: SomeClass instance has no attribute 'property'
Es lohnt sich, den von Zweieiterlinde vorgeschlagenen "Bitten nach Vergebung zu bitten" hervorzuheben, die als pythonische Konvention angesehen wird. Dies beinhaltet den Versuch, auf das Attribut zuzugreifen und eine potenzielle Ausnahme zu bewältigen, wie im folgenden Beispiel zu sehen ist:
Versuchen Sie: A.Property außer AttributeError: # Behandle das Fehlen der 'Eigenschaft' Attribute
>>> a = SomeClass() >>> a.property Traceback (most recent call last): File "Performance Optimization", line 1, in AttributeError: SomeClass instance has no attribute 'property'
Die entsprechende Wahl zwischen der Funktion hasAttr () und dem Ansatz "Nach Vergebung fragen" Wahrscheinlichkeit der Verfügbarkeit von Attributen. Wenn erwartet wird, dass die Immobilie in den meisten Fällen vorhanden ist, ist es möglicherweise effizienter, sie direkt zu bezeichnen. Wenn die Eigenschaft jedoch wahrscheinlich häufig nicht vorhanden ist, kann HasAttr () vorzuziehen sein, um eine übermäßige Ausnahmeregelung zu verhindern.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3