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 这个实例属性来访问
  • 相关阅读:
    excel的导入导出
    mybatis常用sql
    java中和时间相关的类,方法
    <resultMap>
    项目启动报的错
    多表查询
    file的一些方法
    AOV网络与AOE网络
    封装解封装过程
    以太网交换机
  • 原文地址:https://www.cnblogs.com/wudeng/p/9299377.html
Copyright © 2011-2022 走看看