__init__模块:初始化模块
init()方法 当使用类名()创建对象时,Python解释器会自动执行以下操作:
1.为对象在内存中分配空间———创建对象
2.调用初始化方法为对象的属性设置初始值——初始化方法(init)
3. 这个初始化方法是对象的内置方法,是专门用来定义一个类具有哪些属性的方法
__str__模块
class Cat:
def __init__(self,name):
self.name = name
print(self.name)
def __str__(self):
return '我是 %s' %(self.name)
tom = Cat('tom')
print(tom)
addr = id(tom)
print(addr) #默认地址空间格式十进制
print('%x' %(addr)) #转变为十六进制
print('%d' %(addr))
结果:
tom
我是 tom
139813835807096
7f28f2049978
139813835807096
__del__模块
class Cat:
def __init__(self,name): #初始化
self.name=name
print('%s 来了' %(self.name))
def __del__(self): #当程序结束之后,会自动调用_del_模块,将对象从内存地址空间中销毁,也可以自行定义在什么时候销毁
print('%s 走了' %(self.name))
tom = Cat('tom')
print(tom.name)
del tom
print('*' *50)
print(tom.name)
结果:
tom 来了
tom
tom 走了
**************************************************
NameError: name 'tom' is not defined #报错
class Cat:
def __init__(self,name):
self.name=name
print('%s 来了' %(self.name))
def __del__(self):
print('%s 走了' %(self.name))
tom = Cat('tom')
print(tom.name)
print('*' *50)
print(tom.name)
结果:
tom 来了
tom
**************************************************
tom
tom 走了
来源:CSDN
作者:趁早_
链接:https://blog.csdn.net/weixin_45629723/article/details/104269307