python3,设置只读属性

设置只读属性

一:设置只读属性的方式:

class Person(object):
    def __init__(self):
        self.__age = 18

    # @property 可以使用属性的方式来访问这个方法
    @property
    def age(self):
        return self.__age

p = Person()

# 这样的实例属性进行赋值,相当于给这个实例加一个实例属性,并不是修改类里面的实例属性,因为双下划线是私有属性,不能读,不能写
p.__age = 999
print(p.__dict__)  #

# 这样实例对象读取实例方法以读取实例属性一样
print(p.age)  # 18

# 只读赋值,不能修改,这样就无法修改. AttributeError: can't set attribute
p.age = 888

 二:property的设置,对私有属性操作

# property作用:
#    可以将一些属性的操作方法关联到某一个属性
"""
概念:
经典类:没有继承(object)
新式类: 继承(object)

python2版本定义一个类时,默认不继承(object)
python3版本定义一个类时,继承(object)
建议使用新式类
"""

# 查看当前的python版本是否继承(object)

class Person01:
    pass

# 输

你可能感兴趣的:(python,python,开发语言)