HASATTR () jest samą funkcją, „obiekt” odnosi się do wymaganego obiektu, „atrybut” odnosi się do nazwy określonego atrybutu, który należy sprawdzić. Jeśli „obiekt” ma „atrybut”, hasattr () zwróci prawdziwie, zwróci false. Funkcja HASATTR () zapewnia lepszą czytelność w porównaniu z innymi konwencjonalnymi metodami Python stosowanymi do sprawdzenia wartości atrybutu. Pomocne jest również sprawdzanie kluczy, aby zignorować niepotrzebne błędy napotkane podczas sprawdzania nieobecnych kluczy. Za pomocą przykładów dowiemy się, jak zastosować metodę języka Pythona HASATTR (). Będziesz mógł skutecznie użyć funkcji HASATTR () w swoich skryptach do końca tego artykułu. Zacznijmy od podstawowej ilustracji.
Przykład 1:
W pierwszym przykładzie zdefiniujemy prostą klasę, która zawiera nazwę ucznia i klasę, w której studenci studiują. Następnie sprawdzimy atrybuty klasy za pomocą funkcji HASATTR (). Klasa zdefiniowana przez użytkownika jest tworzona o nazwie „uczeń”, pierwszym atrybutem jest „klasa” i ma wartość „5”, podczas gdy drugi atrybut to „nazwa” i ma wartość „Tylor.„Następnym krokiem jest sprawdzenie atrybutów klasy za pomocą funkcji HASATTR (). Najpierw sprawdziliśmy atrybut „Nazwa” klasy, a następnie atrybut „klasy”, a następnie atrybut „Fathername”. Tutaj możesz wyświetlić kod.
Uczeń klasy:Wyjście powyższego kodu jest następujące:
Jeśli zauważysz, że pierwsze dwa wyjścia są „prawdziwe.„Natomiast ostatnie wyjście jest„ fałszywe.„Jak omówiono wcześniej, HASSTTR () zwróci„ true ”, jeśli określony obiekt ma określony obiekt. Natomiast zwraca „false”, jeśli określony obiekt nie ma określonego obiektu. Klasa „uczeń” ma dwa atrybuty „klasa”, „nazwa”, podczas gdy nie ma atrybutu „Fathername”, dlatego funkcja HASATTR () zwraca w tym przypadku „false”.
Przykład 2:
Spójrzmy na niektóre skomplikowane, ale ustrukturyzowane programy, aby zapoznać się z funkcją funkcji HASATTR (). Tutaj zdefiniowaliśmy klasę za pomocą funkcji def_init_ (). Klasa ponownie składa się z danych uczniów. Ma dwa atrybuty, „rollno” i „oceny.„Dane są dostarczane obu atrybutom klasy, wywołując nazwę klasy; Student (35, „M”), gdzie „35” jest „Rollno”, a „M” to ocena ucznia. Później dodaliśmy kolejny atrybut w klasie: wiek ucznia. Możemy to osiągnąć, tworząc kolejną instancję klasy o innej określonej nazwie; Na przykład student1 = student () i student1.Wiek = 9. Patrz kod podany poniżej, aby uzyskać jasne zrozumienie programu.
Uczeń klasy:Wyjście powyższego kodu jest następujące:
Jak widać, funkcja hasattr () zwróciła „true”, ponieważ atrybut „wiek” jest dodawany do klasy w późniejszych krokach.
Przykład 3:
Miejmy analizę wydajności funkcji HASATTR () w porównaniu z instrukcją TRY. W tym przykładzie zobaczymy, który z nich jest lepszy, funkcja HASATTR () lub instrukcja Try of the Python Language. Najpierw zobaczmy kod i dane wyjściowe, a następnie zobaczymy, który jest lepszy od drugiego.
czas importuJak widać, klasa „porównanie” ma dwa atrybuty, „nazwa” i „czas”.„Po pierwsze, zaimplementowaliśmy funkcję HASATTR (), aby sprawdzić, czy klasa„ porównawcza ”ma atrybut„ czas ”, czy nie. Następnie sprawdziliśmy czas wykonywania zarówno funkcji HASATTR (), jak i wypróbowaliśmy instrukcję za pomocą funkcji Time (). Dane wyjściowe powyższego kodu podano poniżej:
Zauważ, że HASATTR () zwrócił „false”, ale klasa „porównanie” ma atrybut „czas.„Kluczowym punktem, do którego należy zauważyć, jest to, że zdaliśmy„ czas ”w HASATTR (), podczas gdy klasa„ Porównanie ”ma atrybut„ czas ”. Python jest językiem wrażliwym na przypadki, więc „czas” i „czas” to dwa różne atrybuty. Ponadto, jeśli zobaczysz czas wykonania, zauważysz, że instrukcja TRY jest szybsza niż funkcja HASATTR (). Jednak funkcja HASATTR () zapewnia lepszą czytelność, dlatego HASATTR () jest nadal preferowana przez instrukcję TRY.
Wniosek:
W tym artykule dowiedzieliśmy się o wbudowanej funkcji Python Hasattr (). Za pomocą prostych i złożonych przykładów nauczyliśmy się wdrażać funkcję HASATTR () w naszych programach. Ponadto porównaliśmy czas wykonywania HASATTR () z instrukcją TRY, która udowodniła, że chociaż instrukcja TRY jest szybka, funkcja HASATTR () jest preferowana ze względu na jego zwiększoną czytelność.