zoukankan      html  css  js  c++  java
  • 面向对象之装饰器

    可以通过@property的getter和setter方法修改对象的属性值。
     
    class Person(object):
     
        def __init__(self, name, age):
           self._name = name
           self._age = age
     
        # 访问器 - getter方法
        @property
        def name(self):
           return self._name
     
        @property
        def age(self):
           return self._age
     
        # 修改器 - setter方法
        @age.setter
        def age(self, age):
           self._age = age
           
        @name.setter
        def name(self, name):
           self._name = name
     
     
        def play(self):
           if self._age <= 16:
              print('%s正在玩飞行棋.' % self._name)
           else:
              print('%s正在玩斗地主.' % self._name)
     
     
    def main():
        person = Person('王大锤', 12)
        person.play()
        person.name = '白元芳'
        person.age = 22
        person.play()
     
    if __name__ == '__main__':
        main()
     
    输出:
    王大锤正在玩飞行棋.
    白元芳正在玩斗地主.
     
     
  • 相关阅读:
    matplotlib imshow
    django restframework Serializers
    python assert用法
    nginx 深入篇
    scrapy 中间件
    mysql 存储引擎
    scrapy 部署
    pyinstaller模块使用
    wechat 网页版通信全过程
    hadoop YARN
  • 原文地址:https://www.cnblogs.com/myshuzhimei/p/11767344.html
Copyright © 2011-2022 走看看