Heim >Backend-Entwicklung >Python-Tutorial >Wie weist die Funktion „setattr()' von Python Objekten Attribute zu?

Wie weist die Funktion „setattr()' von Python Objekten Attribute zu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-01 09:35:10322Durchsuche

How Does Python's `setattr()` Function Assign Attributes to Objects?

Attributzuweisung in Python: Erkunden von setattr()

Stellen Sie sich ein Szenario vor, in dem Sie ein Python-Objekt namens x und eine Zeichenfolge namens s besitzen. Das Ziel besteht darin, das Attribut s programmgesteuert dem Objekt x zuzuweisen, den Zugriff auf x.myAttr zu ermöglichen und seinen Wert „magic“ abzurufen.

Das Geheimnis liegt in der Funktion setattr():

setattr(x, attr, 'magic')

Diese Funktion benötigt drei Argumente:

  • Objekt: Das Objekt zum Ändern von Attributen of.
  • Name: Der Name des festzulegenden Attributs.
  • Wert: Der Wert, der dem Attribut zugewiesen wird.

Durch Aufruf von setattr( x, attr, 'magic') setzen Sie effektiv das Attribut myAttr für das Objekt x auf den Wert 'magic'.

Für weitere Erläuterungen wenden Sie sich bitte an die Hilfefunktion:

>>> help(setattr)
Help on built-in function setattr in module __builtin__:

setattr(...)
    setattr(object, name, value)
    
    Set a named attribute on an object; setattr(x, 'y', v) is equivalent to
    ``x.y = v''.

Es ist zu beachten, dass diese Technik möglicherweise nicht auf reine Instanzen der Objektklasse anwendbar ist. Allerdings ist es oft bei Unterklassen von Objekten nützlich. Dennoch wird generell davon abgeraten, reine Objektinstanzen zu erstellen.

Das obige ist der detaillierte Inhalt vonWie weist die Funktion „setattr()' von Python Objekten Attribute zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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