python3自学之路-笔记24—生命周期方法

老规矩,先上代码:

#!/usr/bin/env python3
# _*_ coding: utf-8 _*_
# File  : 生命周期方法.py
# Author: DaShenHan&道长-----先苦后甜,任凭晚风拂柳颜------
# Date  : 2019/11/10

class Person:
    __personCount = 0  #定义一个类方法,并且私有化,确保安全性。用于计数实例化了多少个对象
    def __init__(self): #实力初始化时调用这里的方法
        print("计数 +1")
        Person.__personCount +=1

    def __del__(self):#实力被释放时调用这里的方法
        print("计数 -1")
        self.__class__.__personCount -=1

    @staticmethod  #定义一个静态方法
    def  log():
        print(f"当前的人数是{Person.__personCount}")

    @classmethod #定义一个类方法
    def  log1(cls):
        print(f"当前的人数是{cls.__personCount}")

Person.personCount = 100 #尝试外部改变类方法(安全性测试)
p = Person()
p2 =  Person()
Person.log()
del p
Person.log()
Person.log1()

运行结果如图:

发布了109 篇原创文章 · 获赞 23 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/qq_32394351/article/details/102993800