初始化 特殊方法、析构函数

初始化 特殊方法、析构函数

 

1、“初始化”特殊方法
在Python中有很多以双下划线开头且以双下划线结尾的固定方法。 他们会在特定的时机被触发执行。

__init__ 就是其中之一,它会在实例化之后自动被调用,以完成实例的初始化。

class Person:
def __init__(self,name,age,sex):
self.name = name #实例化
self.age = age
self.sex = sex
def run(self):
print(‘姓名%s 年龄%d 性别%s 正在跑!’%(self.name,self.age,self.sex))
l = Person(‘jackfu’,26,’男’)
Person.run(l) #类调用方法
l.run() #实例调用方法
”’
执行结果:
姓名jackfu 年龄26 性别男 正在跑!
姓名jackfu 年龄26 性别男 正在跑!
”’
y = Person(‘jack’,22,’男’)
Person.run(y) #类调用方法
y.run() #实例调用方法
”’
执行结果:
姓名jack 年龄22 性别男 正在跑!
姓名jack 年龄22 性别男 正在跑!
”’
2、析构函数(了解)
class Person:
def __init__(self,name,age,sex):
self.name = name #实例化
self.age = age
self.sex = sex
def run(self):
print(‘姓名%s 年龄%d 性别%s 正在跑!’%(self.name,self.age,self.sex))

def __del__(self): #重写,析构函数不能传参数
print(‘已删除!’)

l = Person(‘jackfu’,26,’男’)
Person.run(l) #类调用方法
l.run() #实例调用方法
del l
”’
执行结果:
姓名jackfu 年龄26 性别男 正在跑!
姓名jackfu 年龄26 性别男 正在跑!
已删除!
”’
y = Person(‘jack’,22,’男’)
Person.run(y) #类调用方法
y.run() #实例调用方法
”’
执行结果:
姓名jack 年龄22 性别男 正在跑!
姓名jack 年龄22 性别男 正在跑!
已删除!