Co to jest przeciążanie konstruktora w Pythonie? Z przykładami

Opublikowany: 2023-01-29

Python 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:

  1. Przeciążanie konstruktora na podstawie argumentów
  2. Wywoływanie metod _init_
  3. 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.

Chcesz udostępnić ten artykuł?

Przygotuj się na karierę przyszłości

Złóż wniosek o tytuł magistra w dziedzinie nauki o danych