• 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__方法一旦被调用,--生命周期结束

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

  • 相关阅读:
    Codeforces Beta Round #9 (Div. 2 Only) C. Hexadecimal's Numbers dfs
    Codeforces Beta Round #9 (Div. 2 Only) B. Running Student 水题
    Codeforces Beta Round #9 (Div. 2 Only) A. Die Roll 水题
    51nod 1035 最长的循环节 数学
    BSGS 模板
    51nod 1040 最大公约数之和 欧拉函数
    51NOD 1179 最大的最大公约数 筛法
    BZOJ 2818: Gcd 筛法
    川大校赛总结
    SCOJ 4484 The Graver Robbers' Chronicles 后缀自动机
  • 原文地址:https://www.cnblogs.com/godlove/p/10073995.html
Copyright © 2020-2023  润新知