Funkcja Python SetAttr

Funkcja Python SetAttr
Wszyscy zdajemy sobie sprawę, że funkcja obiektu i konstruktor funkcji można użyć w celu odniesienia się konkretnie do zmiennej klasy. Metoda setattr () jest jedyną inną alternatywą dla tego. W programowaniu dynamicznym, gdzie nazwa zmiennej nie jest statyczna, metoda setAttr () jest pomocna. Operator DOT nie ma zastosowania w tej sytuacji. Używając wejścia użytkownika jako ilustracji, ustawia wartość atrybutu obiektu. Wartość jest przypisywana do atrybutu obiektu za pomocą funkcji setAttr () w Python. Akceptuje obiekt, ciąg i nieokreśloną wartość jako parametry, ale nie zapewnia żadnego wyjścia. Kiedy chcemy podać obiekt nowy atrybut i przypisać mu wartość, jest to przydatne.

W tym artykule zdobędziesz wiedzę na temat metody Pythona setAttr (), podczas gdy my omawiamy to, co osiągnie, kiedy ją zastosować i kiedy jest to niepotrzebne. Niezależnie od tego, czy atrybut jest obecny, czy nie, metoda jest używana do zdefiniowania wartości atrybutu dla obiektu.

Składnia funkcji setAttr () w Pythonie

Poniżej znajduje się składnia setAttr (), którą wdrożyliśmy w skrypcie Python:

setAttr (set_object, set_variable, set_value)


Obiekt.Parametr atrybutu jest ustawiony na równą wartość za pomocą nazwy argumentów obiektu, nazwy zmiennej i wartości. Ta funkcja nie rzuca żadnych wyjątków, ponieważ jakakolwiek właściwość obiektu może być określonego typu. Nic nie zwraca do funkcji wywołania.

Przykład 1: Program korzystania z funkcji setAttr ()

Metoda setAttr () pokazuje, w jaki sposób programowanie obiektowe nadal działa dobrze w tych sytuacjach i jest bardzo przydatne, jeśli atrybuty obiektu mogą się zmienić podczas wykorzystywania. Oto program wykazujący działanie funkcji setAttr ():

Pracownik klasy:
Emp_name = „alice”
my_Object = pracownik ()
Drukuj („Przed setattr Nazwa pracownika:”, My_Object.Emp_name)
setAttr (my_Object, „emp_name”, „Alice Jeo”)
Drukuj („po nazwie pracownika setattr:”, my_Object.Emp_name)

W skrypcie najpierw ustanowiliśmy klasę reprezentowaną nazwą „pracownik”. W określonej klasie utworzyliśmy zmienną klasową jako „nazwa emp_name”. Zmienna klasowa „nazwa emp_name” jest ustawiona o wartości ciągu, która jest nazwą pracownika. Następnie zdefiniowaliśmy obiekt jako „my_object” i wywołaliśmy klasę „pracownik”. Wydruk jest tutaj wykorzystywany do wydrukowania wartości zmiennej „emp_name” przed wdrożeniem funkcji setAttr ().

Do funkcji SETATTR przekazaliśmy trzy dane wejściowe: my_obeject, nazwa zmiennej „nazwa_mp_name” i zmodyfikowana wartość zmiennej „nazwa_mp_name”. Następnie, w ostatniej instrukcji drukowania, wydrukowaliśmy nazwę pracownika po użyciu funkcji setAttr ().

Poniżej znajduje się wynik uzyskany z poprzedniego skryptu funkcji Python setAttr ():

Przykład 2: Program korzystania z właściwości funkcji setAttr ()

Tutaj pokazaliśmy właściwość funkcji setAttr () w Pythonie.

Zwierzę klasowe:
Animal_name = „cat”
obj1 = zwierzę ()
Drukuj („Przed setattr Nazwa:”, Str (OBJ1.Animal_name))
setAttr (obj1, „Animal_name”, None)
setattr (obj1, „detal”, „perskie kocięta”)
Drukuj („After Setattr Animal Name:” + Str (OBJ1.Animal_name))
Drukuj („After Setattr Animal Detail:”, STR (OBJ1.Szczegół))

W poprzednim skrypcie zdefiniowaliśmy klasę, do której przypisaliśmy nazwę „zwierzę”. Do klasy „zwierzę”. Zdefiniowaliśmy zmienną jako „nazwa_ zwierzęcia”, która jest ustawiona o wartości łańcuchowej nazwy zwierzęcia „CAT”. Następnie mamy obiekt jako „obj1”, w którym wywoływana jest klasa „zwierzę”. Następnie wydrukowaliśmy obiekt, przekazując go w metodzie STR przed funkcją setAttr ().

Następnie funkcja setAttr () jest wdrażana w miejscu, w którym przekazuje się „obj1”. Zmienna „Animal_name” jest również przekazywana z wartością „Brak”. Tutaj wdrożyliśmy inną funkcję setAttr () do nowego atrybutu i zainicjowaliśmy ją nową wartością. Instrukcja drukowania jest dostarczana do wydrukowania obiektu po funkcji setAttr ().

Wyniki funkcji setAttr () przed i po jej użyciu są pokazane następująco:

Przykład 3: Program korzystania z funkcji setAttr () z DICT

Możliwość ustawiania wielu atrybutów jednocześnie jest jedną z korzyści wykorzystywania funkcji setAttr (). Gdybyś otrzymał słownik charakterystyki obiektu, co by zawierał? Aby ustawić je dla różnych atrybutów obiektu, możesz zapętlić się nad nimi.

klasa myDictClass (obiekt):
def __init __ (self, dict1):
Klucz w DICT1:
setAttr (self, klucz, dict1 [klucz])
Jeśli __name__ == "__main__":
dict1 = „Student_name”: „Edison”,
„Student_id”: „3278”,
„Student_degree”: „it”
my_Result = myDictClass (dict1)
Drukuj („Po konwersji słownika na klasę:”)
Drukuj (my_result.Student_name, my_result.Student_id, my_result.Student_degree)
print (typ (my_result))

W tym konkretnym skrypcie najpierw zdefiniowaliśmy klasę „MyDictClass”. Nazwaliśmy obiekt do klasy. Następnie mamy definicję metody init, która przyjmuje „ja” i „dict1” jako argumenty.

Następnie mamy pętlę dla każdego klucza i wartość danego słownika. Następnie wdrożyliśmy funkcję setAttr (), w której dodawane są wartości ja, klucz i. Następnie, w ramach głównej funkcji tego skryptu, stworzyliśmy słownik. Następnie przekazaliśmy ten słownik klasie „MyDictClass” z pomocą nowo utworzonego obiektu - „my_result”. W końcu wydrukowaliśmy wynik.

Przykład 4: Program korzystania z funkcji setAttr () z wyjątkiem

Tutaj skonstruujemy atrybuty tylko do odczytu dla obiektu. Jeśli próbujemy użyć funkcji setAttr () do zmiany wartości atrybutu, wyjątek jest podniesiony.

Produkt klasowy:
def __init __ (ja):
samego siebie._ Function = Brak
Funkcja def (ja):
print („funkcja nazywana”)
powrót do siebie._Funkcjonować
obj = właściwość (funkcja, brak)
P1 = produkt ()
setAttr (P1, „Obj”, „laptop”)

Po pierwsze, mamy definicję klasy jako „produkt”. Zdefiniowaliśmy metodę init, w której jako argument jest przekazywany klasie. Zmienna jest tworzona jako „funkcja”, która ma wartość ustawioną na nikogo. Następnie zdefiniowaliśmy funkcję poprzedniej zmiennej „funkcja”.

Następnie stworzyliśmy obiekt jako „OBJ”, w którym mamy nazwę właściwości „Funkcja”. Do funkcji właściwości przeszliśmy zmienną „funkcję” i jej wartość. Funkcja setattr () jest wywoływana, do której dostarczyliśmy P1, OBJ i nową wartość, która rzuca wyjątek.

Widać, że z poprzedniego skryptu podniesiony jest następujący wyjątek:

Wniosek

W tym artykule nauczył nas, jak korzystać z funkcji setAttr () do dynamicznego ustawiania atrybutów obiektu podczas uruchamiania aplikacji. Gdy właściwości są nieznane programistowi, a interfejs API musi być elastyczny, jest to bardzo pomocny sposób dla programowania zorientowanego na obiekt. Nauczyłeś się, jak przypisać wartość do atrybutu obiektu za pomocą funkcji Python setAttr (). Twoja wiedza na temat definiowania funkcji za pomocą funkcji setAttr () jest również wyczyszczona. Następnie nauczyłeś się używać metody setAttr () podczas używania jej do ustawienia atrybutów za pomocą słownika Pythona.