zoukankan      html  css  js  c++  java
  • @property 用法

    import datetime
    import time

    class PK(object):
    def __init__(self,name,attack=0.0,defence=0.0):
    self.name = name
    self.attack = attack
    self.defence = defence
    self._obtain_time = datetime.datetime.now()

    @property
    def defence(self):
    return self._defence

    @defence.setter
    def defence(self,value):
    if value < 0 :
    print("防御值小于0设置为0")
    self._defence = 0
    elif value > 1000:
    print("防御值大于1000被设置为1000")
    self._defence = 1000
    else:
    self._defence = value

    @property
    def age(self):
    return (datetime.datetime.now() - self._obtain_time).seconds

    a = PK("铠甲",defence=10000)
    print(a.defence)
    a.defence = -100
    print(a.age)
    time.sleep(1)
    print(a.age)

    @property 是把方法变为属性,_one_underline 标识这个是私有不应该直接被访问,不属于API,但可以通过defence 这个实例属性来访问
  • 相关阅读:
    1
    vim配置
    pyspark
    添加底部小火箭+目录
    00
    博客园代码高亮设置
    01. 枚举类型
    01. 授权问题
    Android Studio打包签名全过程
    linux 阿里云源地址
  • 原文地址:https://www.cnblogs.com/wudeng/p/9299377.html
Copyright © 2011-2022 走看看