Въведение в 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. Можете също да разгледате следната статия, за да научите повече -

  1. Съставители на Python
  2. Оформление в Java
  3. Python Frameworks
  4. C ++ команди