您好,登錄后才能下訂單哦!
類中的屬性
_屬性名 不建議訪問,暗示這個屬性名是受保護的
想訪問可以通過屬性的getter(訪問器)和setter(修改器)方法進行對應的操作
使用@property包裝器來包裝getter和setter方法,使得對屬性的訪問既安全又便捷
__屬性名 訪問不到
property 英[?pr?p?ti]
美[?prɑ?p?rti]
n. 所有物; 財產; 財物; 不動產; 房地產; 房屋及院落; 莊園;
[例句]Richard could easily destroy her personal property to punish her for walking out on him
理查德能輕易毀掉她的私人財產來懲罰她對他的背叛。
[其他] 復數:properties
通過裝飾器訪問不建議訪問的屬性
# @property裝飾器
class A:
def __init__(self):
self._x = 10
self._y = 20
@property
def y(self):
return self._y
@property
def x(self):
return self._x
a = A()
print(a.x, a.y)
setter 修改不建議訪問的屬性
class Person(object):
def __init__(self, name, age):
self._name = name
self._age = age
# 訪問器 getter方法
@property
def name(self):
return self._name
# 訪問器 getter方法
@property鄭州好的婦科醫院 http://www.zzkedayy.com/
def age(self):
return self._age
# 修改器 setter方法
@age.setter
def age(self, age):
self._age = age
def play(self):
if self._age <= 16:
print('%s正在畫圈圈' % self._name)
else:
print('%' % self._name)
def main():
person = Person('王大錘', 12)
person.play()
# 修改屬性
person.age = 22
person.play()
# 如果我們修改name屬性
person.name = '她與斷劍' # AttributeError: can't set attribute(不可修改)
if __name__ == '__main__':
main()
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。