Python 高级

本文深入解析Python中对象的创建与销毁过程,详细介绍了__init__方法如何在对象创建时自动调用,以及del方法在对象销毁时的作用。同时,探讨了对象引用计数机制,解释了如何通过自定义__str__方法改变print输出的对象信息。

init()方法
def 类名:
#初始化函数,用来完成一些默认的设定
def init():
pass
总结
init()方法,在创建一个对象默认被调用,不需要手动调用
init(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例__init__(self,x,y)
init(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递出去
“魔法”方法

  1. 在Python中方法名如果是xxxx()的,那么就有特殊的功能,因此叫做“魔法”方法
  2. 当使用print输出对象的时候,只有自己定义了str(self)方法,那么就会打印从在这个方法中return的数据
    del()方法
    创建对象后,Python解释器默认调用init()方法;当删除一个对象时,Python解释器也会默认调用一个方法,这个方法为del()方法
    del 程序结束后会自动调用
    总结
    1.当有一个变量保存了对象的引用是,此对象的引用计数就会·加1
    2.当使用del删除变量指向的对象时,如果对象的引用计数不会1,比如3,那么此时只会让这个引用计数减1,即变为2,当再次调用del时,变为1,如果再调用1次del,此时会真的把对象进行删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值