Въведение в Python Constructors
Python е интерпретиран и обектно ориентиран език за програмиране на високо ниво, притежаващ изброените по-долу предимства на програмиране. В тази тема ще научим за Constructor в Python.
1) дружелюбност към програмиста и лекота за разбиране
2) Широко разпространени библиотеки за поддръжка
3) По-голяма гъвкавост
4) преносимост на платформата (способност за мащабиране на всякакви платформи)
5) Наличност с отворен код
6) и т.н.
Ключовата логика, която стои зад конструкторите, е да се гарантира инициализацията на членовете на екземпляра. В python тези конструктори играят същата типична роля. В python всички членове на инстанцията могат да се инициализират чрез тези конструктори.
Видове конструктори | |
Конструктор по подразбиране | Параметризиран конструктор |
Това е конструктор по подразбиране, при който не се приемат аргументи.
Аргументът по подразбиране е налице в случай на конструктори по подразбиране, а именно наречени self. Този аргумент се отнася до обекта, създаден за този клас. Пример: клас проба: # конструктор по подразбиране def __init __ (самостоятелно): # инициализиране на променлива инстанция self.number_variable = 1001 # метод def print_method (самостоятелно): печат („числова променлива:“, самостоятелно номер_променлива) OBJ = проба () obj.print_method () изход: числова променлива: 1001 | Параметризирани конструктори приемат аргументи вътре в тях. Подобно на конструкторите по подразбиране и тук първият аргумент създава препратки към инстанцията на този клас, а останалите аргументи са необходими и дефинирани от програмиста, за да се позовават на променливите на инстанцията.
Пример: клас проба: # параметризиран конструктор def __init __ (себе си, идентификатор, име, възраст, пол, doj, dob): self.id_value = id self.name_value = име self.age_value = възраст self.gender_value = пол self.doj_value = doj self.dob_value = dob def print_output (самостоятелно): отпечатване („Стойност на id:“, self.id_value) печат („name_value:“, self.name_value) печат („age_value:“, self.age_value) печат („gender_value:“, self.gender_value) печат („doj_value:“, self.doj_value) печат („dob_value:“, self.dob_value) obj1 = проба (101, "Terry ', 27" мъжки ", 10072015, 10071993) obj1.print_output () Резултат: Id стойност: 101 name_value: Тери age_value: 27 пол_ стойност: мъж doj_value: 10072015 dob_value: 10071993 |
Как работи конструктор?
Когато обект е създаден за клас python, функцията конструктор ще бъде първият кодов сегмент, който ще бъде иницииран за изпълнение и това прави всички инициализации да се случват като първият случай на работа за програмата. двата ключови елемента в този процес на конструктори са както по-долу
- __Init __ () функция
- Самонасочване
1. Функция Init ()
Тази функция се извиква, когато се създаде обектът на обекта за съответния клас. тази функция на конструктора се потвърждава с помощта на ключова дума def, която ужасно прилича на всички други декларации на функции. друго забележимо нещо в тези декларации за init функция във функцията ще бъде предшествано и наложено с двойни подчертания.
пример
def __init__(self, salary_arg)
2. Самонасочване
Аз се позовава на самия обект. Азът може да се отнася до функциите и променливите, съответстващи на класа, в който е включен. това трябва да е най-важният параметър в декларацията на конструктора. Това означава, че се очаква експонентът да работи с атрибутите на този обект.
Методът show също използва self като своя ключова дума
пример
def __init__(self, Employee_name, Employee_id, Employee_age):
self.Employee_name = name;
self.Employee_id = id;
self.Employee_age = age
Примерна програма
Програма с помощта на пример за конструктори
#!/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 " )
Резултат: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
Предимства на конструкторите
- Основното предимство на конструкторите е, че до голяма степен са полезни при инициализиране
- Променливите на инстанциите в крайното състояние могат да бъдат зададени или инициализирани само с помощта на конструктори.
- Инициализациите по подразбиране могат да бъдат пропуснати с помощта на конструктори
- когато обект е създаден за клас python, функцията конструктор ще бъде първият кодов сегмент, който ще бъде стартиран за изпълнение и това прави всички инициализации да се случат като първият случай на работа за програмата.
- Конструкторите могат да бъдат инициирани с и без параметри
Заключение - Конструктор в Python
Конструкторите играят значителна роля във всеки език за програмиране на високо ниво. подобно на този в случая на python, отговорността на конструкторите е преди всичко на мястото, когато се предполага концепцията за обектно-ориентирано програмиране. конструкторите помагат за постигане на оптимизирани инициализации на променливи инстанции.
Препоръчителни статии
Това е ръководство за Constructor в Python. Тук обсъждаме типовете конструктори и как работи конструкторът в Python. Можете също да разгледате следната статия, за да научите повече -
- Съставители на Python
- Оформление в Java
- Python Frameworks
- C ++ команди