To implement a constructor, we use __init()__ and to implement a destructor, we use __del()__ in python.
为了实现构造函数,我们使用__init()__ ;为了实现析构函数,我们使用python中的__del()__ 。
Program:
程序:
class Employee:
def __init__(self): #Constructor
self.__id = 0
self.__name = ""
self.__gender = ""
self.__city = ""
self.__salary = 0
print("Object Initialized.")
def __del__(self): #Destructor
print("Object Destroyed.")
def setData(self):
self.__id=int(input("Enter Id\t:"))
self.__name = input("Enter Name\t:")
self.__gender = input("Enter Gender:")
self.__city = input("Enter City\t:")
self.__salary = int(input("Enter Salary:"))
def showData(self):
print("Id\t\t:",self.__id)
print("Name\t:", self.__name)
print("Gender\t:", self.__gender)
print("City\t:", self.__city)
print("Salary\t:", self.__salary)
def main():
#Employee Object
emp=Employee()
#emp.setData()
emp.showData()
if __name__=="__main__":
main()
Output
输出量
Object Initialized.
Id : 0
Name :
Gender :
City :
Salary : 0
Object Destroyed.
by using __str__ method
通过使用__str__方法
In this program we are implementing str function using __str__(). This function returns a string whenever we pass class's object to print() function.
在此程序中,我们使用__str __() 实现str函数 。 每当我们将类的对象传递给print()函数时,此函数都会返回一个字符串。
# employee class code in Python
# class definition
class Employee:
def __init__(self): #Constructor
self.__id = 0
self.__name = ""
self.__gender = ""
self.__city = ""
self.__salary = 0
print("Object Initialized.")
def __del__(self): #Destructor
print("Object Destroyed.")
def setData(self):
self.__id=int(input("Enter Id\t:"))
self.__name = input("Enter Name\t:")
self.__gender = input("Enter Gender:")
self.__city = input("Enter City\t:")
self.__salary = int(input("Enter Salary:"))
def __str__(self):
data = "["+str(self.__id)+","+self.__name+","+self.__gender+","+self.__city+","+str(self.__salary)+"]"
return data
def showData(self):
print("Id\t\t:",self.__id)
print("Name\t:", self.__name)
print("Gender\t:", self.__gender)
print("City\t:", self.__city)
print("Salary\t:", self.__salary)
def main():
#Employee Object
emp=Employee()
emp.setData()
emp.showData()
print(emp)
if __name__=="__main__":
main()
Output
输出量
Object Initialized.
Enter Id :101
Enter Name :Pankaj
Enter Gender:Male
Enter City :Delhi
Enter Salary:70000
Id : 101
Name : Pankaj
Gender : Male
City : Delhi
Salary : 70000
[101,Pankaj,Male,Delhi,70000]
Object Destroyed.
翻译自: https://www.includehelp.com/python/implement-destructor-and-constructors-using-__del__-and-__init__.aspx