Python私有属性@property方法

Posted 郭祺迦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python私有属性@property方法相关的知识,希望对你有一定的参考价值。

# 把得到的属性值的方法上@property
# 在设置属性值的方法上@属性名.setter
# 两个方法的名字一致,都是属性名
#先写@property再写@属性名.setter
class Person(object):
def __init__(self,name,age):
#在定义对象属性的时候,私有属性不加__
self.name = name
self.age = age
@property
#相当于getName()方法
def name(self):
return self.__name
#但是返回的时候还是要self.__私有属性名

@name.setter#相当于setName()方法
def name(self,name):
if len(name) > 6:
print("非法")
else:
self.__name = name
#赋值的时候也要self.__属性名 = 属性名

p1 = Person("张三12358",13)
print(p1.name)

‘‘‘
总结:1、在定义对象属性的时候不需要在对象属性加__
2、要先定义@property相当于get方法
3、再定义@属性名.setter相当于set方法
4、在对象调用的时候直接是对象名.属性名
‘‘‘
注意:这种方法设置私有属性,在创建对象实例初始化赋值时就会调用@属性名.setter方法过滤数据



























以上是关于Python私有属性@property方法的主要内容,如果未能解决你的问题,请参考以下文章

Python中的property类和@property装饰器

Python——私有化 和 属性property

iOS开发 私有变量 私有属性的使用选择

python3 私有化 属性property

Python #@property属性

Python 获取类属性