Co to jest przeciążanie konstruktora w Pythonie? Z przykładami
Opublikowany: 2023-01-29Python to przyjazny dla użytkownika język programowania, który może być łatwo opanowany przez początkujących. Ten język programowania oferuje szeroki zakres wsparcia społeczności, który pomaga programistom w odkrywaniu kilku sposobów implementacji kodu. Standardowe biblioteki w Pythonie i moduły udostępnione przez forum społeczności umożliwiły nieskończone możliwości, w tym tworzenie sieci i internetu, graficzne interfejsy użytkownika, dostęp do baz danych, aplikacje edukacyjne, naukowe i numeryczne, programowanie sieciowe, tworzenie oprogramowania i programy do tworzenia gier. Ten język open-source jest rozwijany na licencji zatwierdzonej przez OSI. Dlatego może być używany i rozpowszechniany bezpłatnie. Python Software Foundation zarządza licencją Pythona.
Spis treści
Konstruktory w Pythonie:
Główną funkcją konstruktora Pythona jest tworzenie instancji obiektów. W momencie tworzenia obiektu elementom danych klasy przypisuje się wartości lub inicjalizuje za pomocą konstruktorów. Funkcja _init_ jest konstruktorem w Pythonie. Jest często wywoływany, gdy tworzony jest nowy obiekt.
Składnia deklaracji konstruktora to
Def _init_(self):
# ciało konstruktora
W Pythonie istnieją dwa typy konstruktorów. Oni są:
- Konstruktor domyślny
- Konstruktor parametryczny
Domyślny konstruktor:
Jest to prosty konstruktor i nie przyjmuje żadnych parametrów wejściowych. Definicja domyślnych konstruktorów ma tylko jeden argument, który odnosi się do konstruowanej instancji.
Konstruktor parametryczny:
Jak wskazuje nazwa, te konstruktory mają parametry. Pierwszy argument tego typu konstruktorów odnosi się do konstruowanej instancji i jest znany jako „ja”. Wszystkie inne wymagane argumenty są określane przez programistę jako dane wejściowe.
Sprawdź kursy nauki o danych firmy upGrad
Przeciążanie konstruktora w Pythonie:
Przeciążanie konstrukcji odnosi się do scenariusza włączania większej liczby konstruktorów z oddzielną listą parametrów, tak że każdy konstruktor jest używany do wykonywania różnych zadań w programie. Na przykład w klasie Vector istnieją cztery typy konstruktorów.
Python nie obsługuje jawnie wielu konstruktorów. Jednak użycie wielu konstruktorów w Pythonie można osiągnąć na kilka sposobów. Jeśli programista napisze wiele metod _init_ dla tej samej klasy, ostatnio napisana funkcja _init_ zastępuje wszystkie inne konstruktory.
Dlaczego w Pythonie wymaganych jest wiele konstruktorów?
Gdy użytkownik ma potrzebę wykonania różnych akcji w celu utworzenia instancji klasy, pojawia się wymaganie wielu konstruktorów. Jest to pomocne, gdy różne akcje mają być wykonywane przez klasę na różnych parametrach. Konstruktory klas w Pythonie są zbudowane tak, aby prezentować polimorfizm na trzy różne sposoby, jak wymieniono poniżej:
- Przeciążanie konstruktora na podstawie argumentów
- Wywoływanie metod _init_
- Użycie dekoratora @classmethod
Zapoznaj się z naszymi popularnymi kursami Data Science
Executive Post Graduate Program in Data Science z IIITB | Profesjonalny program certyfikatów w dziedzinie nauki o danych w podejmowaniu decyzji biznesowych | Master of Science in Data Science na University of Arizona |
Zaawansowany program certyfikacji w nauce o danych z IIITB | Profesjonalny program certyfikatów w dziedzinie nauki o danych i analityki biznesowej na University of Maryland | Kursy nauki o danych |
Przeczytaj nasze popularne artykuły dotyczące nauki o danych
Ścieżka kariery w nauce o danych: kompleksowy przewodnik po karierze | Rozwój kariery w Data Science: Przyszłość pracy jest tutaj | Dlaczego nauka o danych jest ważna? 8 sposobów, w jakie analiza danych wnosi wartość do biznesu |
Znaczenie nauki o danych dla menedżerów | Najlepsza ściągawka do analizy danych, którą powinien mieć każdy analityk danych | 6 najważniejszych powodów, dla których warto zostać naukowcem danych |
Dzień z życia Data Scientist: Co oni robią? | Obalony mit: analiza danych nie wymaga kodowania | Business Intelligence vs Data Science: jakie są różnice? |
Przeciążanie konstruktorów w Pythonie na podstawie argumentów:
W tej metodzie konstruktory są przeciążane przez wykonanie niezbędnych akcji po sprawdzeniu warunków dla przekazanych argumentów. Rozważmy przykład przekazania parametru do klasy Sample.
- Kwadrat liczby jest odpowiedzią, jeśli parametrem wejściowym jest int.
- Jeśli długość parametru jest większa niż 1, jako odpowiedź wyświetlana jest suma argumentów.
Wywoływanie metod za pomocą _init_:
Kiedy tworzona jest instancja klasy, klasa może mieć pojedynczy konstruktor _init_, który może wykonać dowolne przypisane zadanie. Ten konstruktor można zmodyfikować, aby obsługiwał różne funkcje i wykonywał różne zadania na podstawie przekazanego parametru. Rozważmy przykład, w którym wykonywane są następujące obliczenia.
- Jeśli zostaną przekazane dwa argumenty, wyrażenie jest oceniane jako x = a 2 – b 2
- Jeśli zostaną przekazane trzy argumenty, obliczone wyrażenie to y = a 2 + b 2 – c
- Jeśli liczba przekazanych argumentów jest większa niż trzy, dodaj kwadraty tych liczb i podziel sumę przez argument o najwyższej wartości.
Jeśli chcesz dowiedzieć się więcej o zastępowaniu metod w Pythonie, sugerujemy podjęcie 18-miesięcznego kursu Master of Science in Data Science . upGrad oferuje ten kurs z IIIT Bangalore i Liverpool John Moore's University. Kurs uczy umiejętności takich jak statystyka, analiza predykcyjna przy użyciu języka Python, uczenie maszynowe, wizualizacja danych, analiza dużych zbiorów danych i nie tylko. Studenci z dużą znajomością koncepcji Pythona są dobrze przygotowani do radzenia sobie z przedmiotami takimi jak głębokie uczenie się, przetwarzanie języka naturalnego, analityka biznesowa i inżynieria danych.