Úvod do Pythonových konstruktorů
Python je interpretovaný a objektově orientovaný programovací jazyk na vysoké úrovni, který má níže uvedené programovací výhody. V tomto tématu se budeme učit o Constructor v Pythonu.
1) přívětivost programátora a snadné porozumění
2) Rozšířené podpůrné knihovny
3) Větší flexibilita
4) přenositelnost platforem (Schopnost škálovatelnosti na všech platformách)
5) Dostupnost otevřeného zdroje
6) atd.
Klíčovou logikou konstruktérů je zajištění inicializace členů instance. V pythonu mají tito konstruktéři stejnou typickou roli. V pythonu mohou být všichni členové instance inicializováni prostřednictvím těchto konstruktorů.
Konstruktorové typy | |
Výchozí konstruktor | Parametrizovaný konstruktor |
Toto je výchozí konstruktor, kde nejsou přijaty žádné argumenty.
Výchozí argument je přítomen v případě implicitních konstruktorů jmenovitě self. Tento argument odkazuje na objekt vytvořený pro tuto třídu. Příklad: ukázka třídy: # default konstruktor def __init __ (self): # inicializace proměnné instance self.number_variable = 1001 # metoda def print_method (self): print („number number:“, self.number_variable) obj = sample () obj.print_method () Výstup: číslo proměnné: 1001 | Parametrovaní konstruktéři v nich přijímají argumenty. Stejně jako výchozí konstruktory i zde jsou první argument, který je vytvářen, odkazem na instanci této třídy a zbývající argumenty jsou definovány programátorem pro odkazování na proměnné instance.
Příklad: ukázka třídy: # parametrizovaný konstruktor def __init __ (self, id, name, age, gender, doj, dob): self.id_value = id self.name_value = jméno self.age_value = věk self.gender_value = gender self.doj_value = doj self.dob_value = dob def print_output (self): print („Id value:“, self.id_value) print („name_value:“, self.name_value) tisk („age_value:“, self.age_value) tisk („gender_value:“, self.gender_value) tisk („doj_value:“, self.doj_value) tisk („dob_value:“, self.dob_value) obj1 = vzorek (101, 'Terry', 27, 'male', 10072015, 10071993) obj1.print_output () Výstup : Id hodnota: 101 name_value: Terry age_value: 27 gender_value: male doj_value: 10072015 dob_value: 10071993 |
Jak funguje Constructor?
Když je objekt vytvořen pro třídu python, pak bude funkce konstruktoru prvním segmentem kódu, který má být zahájen k provedení, a to způsobí, že všechny inicializace se stanou první instancí práce pro program. dva klíčové prvky v tomto procesu konstruktérů jsou níže
- __Init __ () funkce
- Vlastní reference
1. Funkce Init ()
Tato funkce se nazývá při vytvoření instance objektu pro odpovídající třídu. tato funkce konstruktoru je potvrzena pomocí klíčového slova def, které je hrozně podobné všem ostatním deklaracím funkcí. další zřetelné věci v těchto deklaracích funkce init ve funkci bude předcházet a připojeno dvojité podtržení.
Příklad
def __init__(self, salary_arg)
2. Vlastní reference
Self odkazuje na objekt sám. Self může odkazovat na funkce a proměnné odpovídající třídě, do které je zapojen. toto musí být nejdůležitější parametr v prohlášení konstruktoru. To znamená, že se očekává, že exponent bude pracovat s atributy tohoto objektu.
Metoda show také používá sebe jako své klíčové slovo
Příklad
def __init__(self, Employee_name, Employee_id, Employee_age):
self.Employee_name = name;
self.Employee_id = id;
self.Employee_age = age
Příklad programu
Program pomocí příkladu konstruktorů
#!/usr/bin/evn python
# Define a class as 'Individual' #
class Individual:
# Constructor#1 #
def __init__(self):
self.Student_Name = input( " Enter Name of the student : " )
self.Student_age = input( " Enter age of the student : " )
self.Student_gender = input( " Enter gender of the student : " )
# Method
def display(self):
print( " \n \n Enter Name of the student : ", self.Student_Name )
print( " Enter age of the student : ", self.Student_age )
print( " Enter gender of the student : ", self.Student_gender )
# Define a class as 'Evaluated_Marks' #
class Evaluated_Marks:
# Constructor#2 #
def __init__(self):
self.stuClass = input( " Class of the student : " )
print( " Evaluated Marks per subject : " )
self.literature = int(input( " Mark in Literature subject : " ))
self.math = int(input( " Mark in Math subject : " ))
self.biology = int(input( " Mark in Biology subject : " ))
self.physics = int(input( " Mark in Physics subject : " ))
# Method
def display(self):
print( " Study in : ", self.stuClass)
print( " Total Evaluated_Marks : ", self.literature + self.math + self.biology + self.physics)
class student(Individual, Evaluated_Marks):
def __init__(self):
# Call ' Individual ' super class constructor
Individual.__init__(self)
# Call ' Evaluated_Marks ' super class constructor
Evaluated_Marks.__init__(self)
def result(self):
# Call method of class 'Individual'
Individual.display(self)
# Call method of class 'Evaluated_Marks'
Evaluated_Marks.display(self)
# Objects of class 'student' #
Student1 = student()
Student2 = student()
print(" ")
print( " Note : The instances get initialized with the given values Successfully " )
Výstup :runfile('C:/Users/Dell/.spyder-py3/temp.py', wdir='C:/Users/Dell/.spyder-py3')
Enter Name of the student: Arun
Enter the age of the student: 15
Enter the gender of the student: male
Class of the student: 11
Evaluated Marks per subject :
Mark in Literature subject: 45
Mark in Math subject: 34
Mark in Biology subject: 23
Mark in Physics subject: 45
Enter Name of the student: Rajan
Enter the age of the student: 16
Enter the gender of the student: male
Class of the student: 11
Evaluated Marks per subject :
Mark in Literature subject: 23
Mark in Math subject: 34
Mark in Biology subject: 23
Mark in Physics subject: 56
Výhody konstruktorů
- Hlavní výhodou konstruktérů je to, že jsou při inicializaci velmi užitečné
- Proměnné instance v konečném stavu lze nastavit nebo inicializovat pouze pomocí konstruktorů.
- Inicializace výchozí hodnoty lze pomocí konstruktorů vynechat
- když je objekt vytvořen pro třídu python, pak bude funkce konstruktoru prvním segmentem kódu, který má být spuštěn k provedení, a to způsobí, že všechny inicializace se stanou první instancí práce pro program.
- Konstruktory lze iniciovat s parametry i bez nich
Závěr - Konstruktor v Pythonu
Konstruktory hrají významnou roli ve všech programovacích jazycích na vysoké úrovni. podobně jako v případě pythonu je odpovědnost konstruktérů na prvním místě, pokud je zahrnuta koncepce objektově orientovaného programování. konstruktory pomáhají dosáhnout optimalizovaných inicializací proměnných instance.
Doporučené články
Toto je průvodce Konstruktorem v Pythonu. Zde diskutujeme typy konstruktorů a jak funguje konstruktor v Pythonu. Další informace naleznete také v následujícím článku -
- Kompilátory Pythonu
- Rozložení v Javě
- Python Frameworks
- Příkazy C ++