黑马程序员技术交流社区
标题:
【上海校区】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