Python hasattr()-Funktion

Python3 内置函数Python3 integrierte Funktionen


hasattr()Es ist eine in Python eingebaute Funktion, mit der überprüft wird, ob ein Objekt ein bestimmtes Attribut besitzt.

hasattr()Es gibt einen booleschen Wert zurück, der angibt, ob das Objekt das angegebene Attribut enthält. Dies ist sehr nützlich beim Umgang mit dynamischen Attributen oder wenn zuerst geprüft werden muss, ob ein Attribut existiert.

Wortdefinitionen: hasattr 是 has attribute(有属性)的缩写。


Grundlegende Syntax und Parameter

Syntaxformat

hasattr(object, name)

Parameterbeschreibung

  • Parameter object:
    • Typ: Beliebiges Objekt
    • Beschreibung: Das zu prüfende Objekt.
  • Parametername:
    • Typ: String
    • Beschreibung: Der Attributname.

Funktionsbeschreibung

  • Rückgabewert: Gibt einen booleschen Wert zurückTrueoderFalse。

Beispiele

Beispiel 1: Grundlegende Verwendung

Beispiel

class Person:
    def __init__(self):
        self.name = "Tom"
        self.age = 20

p = Person()

# Prüfen, ob das Attribut existiert
print(hasattr(p, "name"))    # Ausgabe: True
print(hasattr(p, "age"))     # Ausgabe: True
print(hasattr(p, "gender"))  # Ausgabe: False

# Die Methode prüfen
print(hasattr(p, "name"))          # Ausgabe: True
print(hasattr(p, "walk"))          # Ausgabe: False

Erwartete Ausgabe:

True
True
False
True
False

Code-Erklärung:

  1. hasattr() prüft, ob ein Objekt das angegebene Attribut besitzt.

Beispiel 2: Arbeiten mit getattr

Beispiel

# Attribut sicher abrufen
class Config:
    def __init__(self):
        self.debug = True
        self.port = 8080

config = Config()

# Erst prüfen, dann abrufen
if hasattr(config, "debug"):
    print(f"debug: {config.debug}")

if hasattr(config, "timeout"):
    print(f"timeout: {config.timeout}")
else:
    print("timeout existiert nicht, Standardwert wird verwendet")
    # Ausgabe: timeout existiert nicht, Standardwert wird verwendet

# Dynamische Prüfung
attrs = ["debug", "port", "host"]
for attr in attrs:
    if hasattr(config, attr):
        print(f"{attr}: {getattr(config, attr)}")

Ausgabe:

Die Ausführung in einer tatsächlichen Umgebung zeigt das Prüfergebnis an.

hasattr()Wird oft verwendet mitgetattr()in Verbindung mit.


Python3 内置函数Python3 integrierte Funktionen


Andere Erweiterungen