Python - 让实例属性不可变(只读)
2022/2/6 1:14:11
本文主要是介绍Python - 让实例属性不可变(只读),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
>>> class A: ... def __init__(self,name): ... self.__name = name ... >>> a = A('xiaoming') >>> a.name # 私有化,外部不能直接访问 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'A' object has no attribute 'name' >>> a.name = 'wangfu' # 为实例a 增加了一个新的公开name属性 >>> a.name 'wangfu' >>> a.__dict__ {'_A__name': 'xiaoming', 'name': 'wangfu'} >>> class B: ... def __init__(self,name): ... self.__name = name ... @property ... def name(self): ... return self.__name ... >>> b = B('张三') >>> b.name '张三' >>> b.name = '李四' # 因为有同名的被@property 修饰的函数, 所以b.name= 为修改值的操作 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: can't set attribute >>> b.age = 18 >>> b.age 18
这篇关于Python - 让实例属性不可变(只读)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python