python——面向对象中常用内置方法

北城以北 提交于 2020-02-12 03:54:36

__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 走了
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!