属性函数
说明:将成员方法当做属性一样访问 个人理解:获取类的对象的方法,然后对获取的方法进行重写,装饰。变成自己的属性。 class User: def __init__(self, username, password): self.username = username self.password = password # 获取器:获取password属性时自动触发 @property def password(self): print('你想干啥?') return '偷看密码,没门' # 设置器:设置password属性时自动触发 @password.setter def password(self, password): print('设置密码', password) self.__dict__['password'] = 'xxx' + password + 'yyy' user = User('xiaoming', '123456') print(user.password) 获取器:获取password属性时自动触发 设置器:设置password属性时自动触发内存管理
From sys import getrefcount 引入getrefcount模块。统计对象被引用的次数。当对象的被引用的次数减为0的时候,调用__del__方法。释放相关的资源。 代码实现: a = 10 b = 10 print(id(a)) print(id(b)) from sys import getrefcount # 不可变变量的引用计数没有意义 print(getrefcount(a)) lt = [1, 2, 3] lt2 = lt # 函数本身会增加1次引用计数 print(getrefcount(lt)) del lt2 print(getrefcount(lt)) class Person: def __del__(self): print('对象即将释放') p = Person() print(getrefcount(p)) del p print('OVER') 引用传递 # 不可变变量传递的是值 #可变变量传递的引用 #默认值是可变变量。永远都是同一个版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~