'''
加有 __变量名 的私有属性直接访问不了,用get... 和set... 方法,提供个接口进行访问。
property的使用:
私有属性,用来简化访问私有属性,提供开放性接口,共外界访问
'''
class Student():
def __init__(self,name,age):
self.name = name
self.__age = age
def get_age(self):
return self.__age
def set_age(self,age):
if isinstance(age,int):
self.__age = age
else:
raise TypeError("数据有误")
age = property(get_age,set_age)
s1 = Student("huangpu",18)
s1.set_age(19)
s1.get_age()
print(s1.get_age())
print(s1.age)
使用property取代get和set方法
get方法在前,set方法在后
学名:装饰器
@property
@money.setter
class Money():
def __init__(self):
self.__money = 0
@property
def money(self):
return self.__money
@money.setter
def money(self, money):
if isinstance(money, int):
self.__money = money
else:
raise Exception("金钱类型有误")
m = Money()
m.money = 100
print(m.money)