黑马程序员技术交流社区

标题: 【上海校区】Python中类方法、静态方法和析构方法的理解 [打印本页]

作者: 不二晨    时间: 2018-12-24 11:54
标题: 【上海校区】Python中类方法、静态方法和析构方法的理解
1、类方法是从属于类对象的方法,通过装饰器@classmethod来调用.使用规范如下:
a、@classmethod必须位于方法上面一行
b、第一个cls必须有,是类对象本身
c、类方法和静态方法不能访问实例属性和实例方法。
d、子类继承父类的方法时,传入的cls是子类对象,而非父类对象.

2、静态方法是允许定义与“类对象”无关的方法,称为静态方法,通过装饰器@staticmethod来调用,使用规则如下:

a、@staticmethod必须位于方法最上面
b、类方法和静态方法不能访问实例属性和实例方法。

3、析构方法的理解:_del_方法称为析构方法,用于实现对象被销毁时所需要的操作。比如:释放对象占用的资源。
Pythod实现自动的垃圾回收机制,当对象没有引用时,自动调用_del_析构方法。

class Del:
    def __del__(self):
        print("对象{0}已被删除".format(self))
s1=Del()
s2=Del()
del s1
print("over")
#返回值
对象<__main__.Del object at 0x000001B58435FAC8>已被删除
over
对象<__main__.Del object at 0x000001B58435FB38>已被删除
#del s1 调用对象<__main__.Del object at 0x000001B58435FAC8>已被删除
#over 打印
#程序结束,s2自动销毁  #对象<__main__.Del object at 0x000001B58435FB38>已被删除
---------------------
【转载】仅作分享,侵删
原文:https://blog.csdn.net/qq_24726509/article/details/81154260



作者: 不二晨    时间: 2018-12-26 10:11

作者: 不二晨    时间: 2019-1-3 10:16
奈斯




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2