Ten artykuł wprowadzi Cię w interesujący temat, który jest prosty, ale podstawowy dla programowania, o którym mówię konstruktorzy. Poniższe wskazówki zostaną omówione w tym artykule,
- Konstruktory Pythona
- Co to jest konstruktor w Pythonie?
- Tworzenie konstruktora w Pythonie
- Różnica między konstruktorem sparametryzowanym i nie sparametryzowanym
- Wbudowane funkcje klas w Pythonie
- Wbudowane atrybuty klas
Więc zacznijmy,
Konstruktory Pythona
Jeśli programujesz już od jakiegoś czasu, prawdopodobnie natknąłeś się na nazwę Python o jeden raz za dużo. Python jako język programowania kieruje się orientacją obiektową, co oznacza, że każda instancja tworzona na platformie jest definiowana jako obiekt. Chociaż większość komponentów w Pythonie zawiera mnóstwo informacji online, jednym z tematów, które są ciągle badane, jest konstruktor w Pythonie. Dlatego w tym artykule omówimy wszystko o konstruktorach w Pythonie, o tym, jak można z nich korzystać i jakie korzyści przynoszą. Zaczynajmy!
Przechodząc dalej do tego artykułu o konstruktorach Pythona,
Co to jest konstruktor w Pythonie?
Konstruktor można po prostu zdefiniować jako specjalny typ metody lub funkcji, której można użyć do zainicjowania instancji różnych elementów członkowskich w klasie.
W Pythonie istnieją dwa różne typy konstruktorów.
- Konstruktor niesparametryzowany: konstruktory w Pythonie, które nie mają żadnych parametrów, są znane jako konstruktory niesparametryzowane.
- Konstruktor sparametryzowany: Konstruktor ze wstępnie zdefiniowanym parametrem jest znany jako konstruktor sparametryzowany.
Konstruktor jest definiowany w momencie, gdy tworzymy obiekt wewnątrz klasy. Obecność konstruktora sprawdza również, czy obecne są wystarczające zasoby, dzięki czemu zadanie startowe można łatwo wykonać za pośrednictwem obiektu klasy.
Przechodząc dalej do tego artykułu o konstruktorach Pythona,
Tworzenie konstruktora w Pythonie
Teraz, gdy zapoznałeś się już z definicją i typami konstruktorów w Pythonie, zbadajmy, jak możemy stworzyć konstruktor w Pythonie.
W Pythonie, jeśli chcesz stworzyć konstrukcję, musisz skorzystać z funkcji i / lub metody __init__. Musisz wywołać tę metodę w momencie tworzenia instancji klasy. Po zdefiniowaniu i wywołaniu funkcji __init__ możemy przekazać dowolną liczbę argumentów w momencie tworzenia obiektów klasy w zależności od potrzeb. Najczęstszym zastosowaniem konstruktora w Pythonie jest inicjalizacja atrybutów klasy.
Uwaga:
jak obsługiwać wyskakujące okienko w selenium webdriver
Każda klasa tworzona w Pythonie musi mieć obecny konstruktor, aby mogła działać, nawet jeśli jest to domyślny konstruktor.
Aby lepiej zrozumieć tę koncepcję, spójrz na poniższy przykład.
class Pracownik: def __init __ (self, name, id): self.id = id self.name = name def display (self): print ('ID:% d nName:% s'% (self.id, self.name )) emp1 = Employee ('John', 101) emp2 = Employee ('David', 102) #accessing display () metoda drukowania informacji o pracowniku 1 emp1.display () #accessing display () metoda drukowania informacji o pracowniku 2 emp2 .pokaz()
Po uruchomieniu powyższego programu wynik będzie wyglądał mniej więcej tak.
java konwertuj z double na int
ID: 101
Imię: John
ID: 102
Imię: David
Przechodząc dalej do tego artykułu o konstruktorach Pythona,
Różnica między konstruktorem sparametryzowanym i nie sparametryzowanym
Jak wspomniano w powyższych definicjach, sparametryzowany konstruktor to taki, który ma predefiniowaną wartość, a niesparametryzowany konstruktor to taki, który nie ma przypisanej żadnej wartości. Podczas programowania przypadki użycia różnią się w zależności od kontekstu i aby lepiej to zrozumieć, spójrz na poniższe przykłady.
class Student: #Constructor - niesparametryzowany def __init __ (self): print ('To jest konstruktor niesparametryzowany') def show (self, name): print ('Hello', name) student = Student () student.show (' Jan')
Powyższe jest przykładem nie sparametryzowanego konstruktora, a jego dane wyjściowe będą następujące.
To jest konstruktor niesparametryzowany
cześć John
class Student: #Constructor - sparametryzowany def __init __ (self, name): print ('To jest konstruktor z parametrami') self.name = name def show (self): print ('Hello', self.name) student = Student (' John ') student.show ()
Powyższe jest przykładem sparametryzowanego konstruktora, a jego wyjście będzie następujące.
To jest sparametryzowany konstruktor
cześć John
Przechodząc dalej do tego artykułu o konstruktorach Pythona,
Wbudowane funkcje klas w Pythonie
Teraz, gdy podstawy konstruktora w Pythonie są jasne, zbadajmy różne wbudowane klasy, które są obecne w Pythonie.
program do odwrócenia liczby w java
- getattr (obj, name, default): Ta funkcja wbudowana w Pythonie jest używana do uzyskania dostępu do atrybutów klasy.
- delattr (obj, name): Jeśli chcesz usunąć określony atrybut w klasie, użyj tej wbudowanej funkcji.
- setattr (obj, nazwa, wartość): W określonej sytuacji, jeśli zdecydujesz się ustawić określoną wartość na określony atrybut, skorzystaj z tej funkcji, która jest wbudowana w Python.
- hasattr (obj, name): Wreszcie, jeśli chcesz sprawdzić, czy określony obiekt zawiera atrybut, użyj tej funkcji. Po wykonaniu zwróci wartość true, jeśli atrybut jest obecny w funkcji.
Aby zrozumieć koncepcję wbudowanych funkcji klas w Pythonie, spójrz na poniższy kod.
class Student: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age # tworzy obiekt klasy Student s = Student ('John', 101,22) # drukuje nazwę atrybutu obiektu s print (getattr (s, 'name')) # resetuje wartość atrybutu age do 23 setattr (s, 'age', 23) # drukuje zmodyfikowaną wartość age print (getattr ( s, 'wiek')) # wypisuje prawdę, jeśli uczeń zawiera atrybut o nazwie id print (hasattr (s, 'id')) # usuwa atrybut wiek delattr (s, 'wiek') # spowoduje to błąd, ponieważ atrybut wiek został usunięty drukuj (s.age)
Wynik dla powyższego będzie.
Jan
2. 3
Prawdziwe
AttributeError: Obiekt „Student” nie ma atrybutu „age”
Przechodząc dalej do tego artykułu o konstruktorach Pythona,
Wbudowane atrybuty klas
Wraz z wbudowanymi funkcjami klas, Python ma wbudowane atrybuty klas, które czasami są przydatne. Poniżej przedstawiono niektóre z najważniejszych atrybutów klas wbudowanych.
- __dict__: Używając tej opcji, możesz przeglądać słownik zawierający informacje dotyczące przestrzeni nazw klas.
- __name__: użyj tego atrybutu, jeśli chcesz wyświetlić nazwę bieżącej klasy.
- __doc__: ten atrybut zawiera ciąg, który zawiera dokumentację dla bieżącej klasy.
- __module__: Jeśli potrzebujesz uzyskać dostęp do modułu, w którym zdefiniowano klasę, użyj tego wbudowanego atrybutu.
- __bases__: Jeśli chcesz wyświetlić krotkę, która zawiera wszystkie klasy podstawowe, użyj tej funkcji.
Poniżej podano przykład wyjaśniający wszystkie wbudowane atrybuty klas.
class Student: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age def display_details (self): print ('Imię:% s, ID:% d, wiek :% d '% (self.name, self.id)) s = Student (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ module__)
To prowadzi nas do końca tego artykułu o konstruktorach Pythona.
Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz do szkoleń online na żywo z całodobowym wsparciem i dożywotnim dostępem
Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy w „Samouczku Pythona”, a my skontaktujemy się z Tobą.