--init--()他的作用是初始化属性!!
总结:
init()方法,在创建一个对象时默认被调用,不需要手动调用
init(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么init(self)中出了self作为第一个形参外还需要2个形 参,例如init(self,x,y)
init(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
--str--他的作用是打印对象调用,但是要有返回
总结:
在python中方法名如果是xxxx()的,那么就有特殊的功能,因此叫做“魔法”方法
当使用print输出对象的时候,只要自己定义了str(self)方法,那么就会打印从在这个方法中return的数据
--new--它的作用是创建对象并返回对象应用
总结:
new_至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供
new必须要有返回值,返回实例化出来的实例,这点在自己实现new时要特别注意,可以return父类new出来的实例,或者直接是object的new出来的实例
init有一个参数self,就是这个new返回的实例,init在new的基础上可以完成一些其它初始化的动作,init不需要返回值
--del--他的作用是删除对象调用
总结:
删除对象的意思就是这个对象所对应的内存空间被释放了
当dog1被删除了,dog2还在,引用计数减掉1而已,内存还不会被释放