python内置方法和属性

1.__del__方法:

作用:

当使用类名()创建对象时,为对象分配完空间后,会自动调用__init__方法,当对象被从内存中销毁前,__del__方法会被自动调用

应用场景:

__init__方法可以重新设置初始化方法,可以让创建的对象更加灵活,方法内部使用self.属性=形参

__del__方法可以在对象被销毁前,在做一些事情


class Pig:

def __init__(self, name):
self.name = name
print('%s来了' % self.name)


def __del__(self):
print('%s 走了' % self.name)


 


pigi = Pig('pigi')


print(pigi.name)


#删除对象
del pigi

打印结果:

pigi来了
pigi
pigi 走了

 

 

2.__str__方法

在python中,使用print输出对象变量,默认情况下,会输出这个变量引用的对象即类对象(由类创建的对象),及其在内存中的地址(十六进制),print(Pig())如<__main__.Pig object at 0x00000218672E5D68>,print(Pig)<class '__main__.Pig'>

如果在实际工作中,想用print输出时,可以自定义打印内容,则可以利用__str__这个内置方法

class Pig:
    def __init__(self, new_name):
        
        self.name = new_name
        print('%s来了' % self.name)

    def __del__(self):
        print('%s 走了' % self.name)

    def __str__(self):
        return '我是小猪猪 %s' % self.name



pigi = Pig('pigi')

print(pigi)

打印结果:
 ==================
pigi来了
我是小猪猪 pigi

3.对象的生命周期

一个对象从调用类名()创建,--生命周期开始

一个对象的__del__方法一旦被调用,--生命周期结束

在对象的生命周期内,可以访问对象的属性或让属性调用方法

posted @ 2018-12-05 22:43  yile  阅读(484)  评论(0编辑  收藏  举报