温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python:访问器以及修改器

发布时间:2020-07-29 21:49:02 来源:网络 阅读:255 作者:ckllf 栏目:编程语言

  类中的属性

  _属性名 不建议访问,暗示这个属性名是受保护的

  想访问可以通过属性的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()


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI