Python Setattr -Funktion

Python Setattr -Funktion
Wir alle sind uns bewusst, dass ein Objektfunktion und ein Funktionskonstruktor verwendet werden können, um sich speziell auf eine Klassenvariable zu beziehen. Die SetAttr () -Methode ist die einzige andere Alternative zu dieser. In der dynamischen Programmierung, bei der der variable Name nicht statisch ist, ist die Methode setAttr () hilfreich. Der Punktbetreiber ist in dieser Situation nicht anwendbar. Wenn Sie die Benutzereingabe als Abbildung verwenden, wird der Wert eines Objektattributs festgelegt. Ein Wert wird dem Attribut eines Objekts mit der Funktion setAttr () in Python zugewiesen. Es akzeptiert ein Objekt, eine Zeichenfolge und einen nicht spezifizierten Wert als Parameter, liefert jedoch keine Ausgabe. Wenn wir einem Objekt ein neues Attribut geben und ihm einen Wert zuweisen möchten, ist es nützlich.

Sie erhalten Kenntnisse über die SetAttr () -Methode von Python in diesem Artikel, während wir abdecken, was sie erreicht, wann es eingesetzt werden soll und wann es unnötig ist. Unabhängig davon, ob das Attribut vorhanden ist oder nicht, wird die Methode verwendet, um den Wert eines Attributs für ein Objekt zu definieren.

Syntax der Setattr () -Funktion in Python

Das Folgende ist die SetAttr () -Syntax, die wir in einem Python -Skript bereitgestellt haben:

setAttr (set_object, set_variable, set_value)


Das Objekt.Der Attributparameter wird unter Verwendung des Argumentennamens des Objekts, des Variablennamens und des Wertes auf den gleichen Wert eingestellt. Diese Funktion wirft keine Ausnahmen aus, da eine Objekteigenschaft von einem bestimmten Typ sein kann. Es gibt nichts an die Aufruffunktion zurück.

Beispiel 1: Programm der Verwendung der Funktion setAttr ()

Die setAttr () -Methode zeigt, wie die objektorientierte Programmierung in diesen Situationen immer noch gut funktioniert und ist sehr nützlich, wenn sich die Attribute eines Objekts während der Verwendung ändern können. Hier ist das Programm, um die Funktionsweise der SetAttr () -Funktion zu demonstrieren:

Klassenangestellter:
EMP_NAME = 'Alice'
my_object = Mitarbeiter ())
print ("Bevor SetAttr -Mitarbeitername:", my_object.EMP_NAME)
setAttr (my_object, 'emp_name', 'Alice Jeo')
print ("After SetAttr -Mitarbeitername:", My_Object.EMP_NAME)

Im Skript haben wir zunächst eine Klasse eingerichtet, die mit dem Namen „Mitarbeiter“ dargestellt wird, der dargestellt wird, der dargestellt wird. In der angegebenen Klasse haben wir eine Klassenvariable als "EMP_NAME" erstellt. Die Klassenvariable "EMP_NAME" wird mit dem Zeichenfolgenwert festgelegt, der der Name des Mitarbeiter ist. Dann haben wir ein Objekt als "my_object" definiert und die Klasse "Mitarbeiter" aufgerufen. Der Druck wird hier verwendet, um den Wert der Variablen „EMP_NAME“ zu drucken, bevor die Funktion setattr () bereitgestellt wird.

An die SetAttr -Funktion haben wir drei Eingänge übergeben: my_obeject, der Variablenname "EMP_NAME" und der geänderte Wert der Variablen "EMP_NAME". In der letzten Druckanweisung haben wir den Mitarbeiternamen nach der Verwendung der Funktion setAttr () gedruckt.

Das Folgende ist das Ergebnis, das aus dem vorherigen Skript der Funktion python setattr () erzielt wird:

Beispiel 2: Programm der Verwendung der Funktion SetAttr () Funktionseigenschaft

Hier haben wir die Eigenschaft der Setattr () -Funktion in Python gezeigt.

Klassentier:
Animal_name = 'Katze'
OBJ1 = Animal ()
print ("vor setattr name:", str (obj1.Animal_Name))
setattr (obj1, 'Animal_name', keine)
SetAttr (OBJ1, 'Detail', 'Persian Kätzchen')
print ("Nach dem Setattr -Tiernamen:" + str (OBJ1.Animal_Name))
print ("After Setattr Tierdetail:", str (OBJ1.Detail))

Im vorherigen Skript haben wir die Klasse definiert, der wir den Namen "Tier" zugewiesen haben. Zur Klasse "Tier". Wir haben eine Variable als "Animal_Name" definiert, die mit dem Stringwert des Namens "Katze" des Tieres festgelegt wird. Dann haben wir ein Objekt als „obj1“, in dem die Klasse „Tier“ aufgerufen wird. Dann drucken wir das Objekt, indem wir es in der STR -Methode vor der Funktion setattr () übergeben haben.

Danach wird die Funktion setAttr () bereitgestellt, bei der das „OBJ1“ übergeben wird. Die Variable "Animal_Name" wird ebenfalls mit dem Wert "None" übergeben. Hier haben wir eine weitere SetAttr () -Funktion für das neue Attribut bereitgestellt und es mit dem neuen Wert initialisiert. Die Druckanweisung soll das Objekt nach der Funktion setattr () drucken.

Die Funktion setAttr () Ergebnisse vor und nach der Verwendung werden im Folgenden dargestellt:

Beispiel 3: Programm der Verwendung der Funktion setAttr () mit DICT

Die Möglichkeit, zahlreiche Attribute gleichzeitig festzulegen. Wenn Sie ein Wörterbuch über die Eigenschaften eines Objekts erhalten hätten, was würde es enthalten, was es enthalten würde?? Um sie für die verschiedenen Attribute eines Objekts festzulegen, können Sie sie überfliegen.

Klasse MyDictClass (Objekt):
def __init __ (self, dict1):
Für Schlüssel in DICT1:
setattr (self, key, dict1 [key])
Wenn __name__ == "__main__":
dict1 = "student_name": "edison",
"Student_id": "3278",
"Student_Degree": "es"
my_result = myDictClass (dict1)
print ("Nach der Umwandlung von Wörterbuch in die Klasse:")
print (my_result.Student_Name, my_result.Student_id, my_result.Student_Degree)
print (type (my_result))

In diesem speziellen Skript haben wir zunächst die Klasse "MyDictClass" definiert,. Wir haben das Objekt zur Klasse gerufen. Dann haben wir eine Definition der Init -Methode, die das „Selbst“ und das „dict1“ als Argumente nimmt.

Danach haben wir die für die Schleife, die über jeden Schlüssel und den Wert des gegebenen Wörterbuchs abschließt. Anschließend haben wir die Funktion setAttr () bereitgestellt, bei der die Werte Selbst-, Schlüssel und Diktat hinzugefügt werden. Dann haben wir innerhalb der Hauptfunktion dieses Skripts das Wörterbuch erstellt. Danach haben wir dieses Wörterbuch an die Klasse „MyDictClass“ mit Hilfe des neu erstellten Objekts - „my_result“ - übergeben. Am Ende haben wir das Ergebnis gedruckt.

Beispiel 4: Programm der Verwendung von SetAttr () -Funktion mit Ausnahme

Hier konstruieren wir die schreibgeschützten Attribute für das Objekt. Wenn wir versuchen, die Funktion setAttr () zu verwenden, um den Wert des Attributs zu ändern, wird eine Ausnahme erhöht.

Klassenprodukt:
def __init __ (selbst):
selbst._Function = keine
def function (self):
print ('Funktion genannt')
Rückkehr selbst._Funktion
obj = Eigenschaft (Funktion, keine)
p1 = product ()
setattr (p1, 'obj', 'laptop')

Erstens haben wir die Klassendefinition als „Produkt“. Wir haben die Init -Methode definiert, bei der das Selbst als Argument der Klasse zur Verfügung gestellt wird. Die Variable wird als „Funktion“ erstellt, die einen Wert auf keine festgelegt hat. Dann haben wir die Funktion der vorherigen Variablen „Funktion“ definiert,.

Danach haben wir ein Objekt als "obj" erstellt, in dem wir den Eigenschaftsnamen "Funktion" haben. An die Eigenschaftsfunktion haben wir die Variable „Funktion“ und ihren Wert übergeben. Die SetAttr () -Funktion wird aufgerufen, worauf wir die Ausnahme die Ausnahme ausgeliefert haben.

Sie können sehen, dass die folgende Ausnahme aus dem vorherigen Skript hervorgeht:

Abschluss

Dieser Artikel hat uns beigebracht, wie die Funktion SetAttr () verwendet wird, um die Objektattribute dynamisch festzulegen, während eine Anwendung ausgeführt wird. Wenn die Eigenschaften dem Entwickler unbekannt sind und eine API flexibel sein muss, ist dies eine sehr hilfreiche Möglichkeit für die objektorientierte Programmierung. Sie haben gelernt. Ihr Wissen über die Definition der Funktion mit der Funktion setattr () wird ebenfalls gelöscht. Anschließend haben Sie gelernt, wie man die SetAttr () -Methode verwendet, während Sie sie verwenden, um die Attribute mit einem Python -Wörterbuch festzulegen.