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

__init__模块:初始化模块

init()方法 当使用类名()创建对象时,Python解释器会自动执行以下操作:

  • 为对象在内存中分配空间———创建对象
  • 调用初始化方法为对象的属性设置初始值——初始化方法(init)
  • 这个初始化方法是对象的内置方法,是专门用来定义一个类具有哪些属性的方法

__str__模块

在python中,print输出对象变量时,默认情况下会输出这个变量引用的对象是由那个类创建的以及该对象在内存当中的地址空间,如果希望使用print输出变量时,能够打印自定义的内容,可以使用_str_这个内置方法,在这个内置模块中写入你想让print打印出的内容。

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__模块

当程序结束之后,会自动调用_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 走了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值