加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 类属性或参数的默认值

发布时间:2020-12-20 12:20:10 所属栏目:Python 来源:网络整理
导读:我在 Python中发现了以下开源代码: class Wait: timeout = 9 def __init__(self,timeout=None): if timeout is not None: self.timeout = timeout ... 我试图理解上面的代码是否有使用默认参数值的优点: class Wait: def __init__(self,timeout=9): ... 解
我在 Python中发现了以下开源代码:

class Wait:

  timeout = 9

  def __init__(self,timeout=None):

    if timeout is not None:
        self.timeout = timeout
    ...

我试图理解上面的代码是否有使用默认参数值的优点:

class Wait:

   def __init__(self,timeout=9):
     ...

解决方法

可以通过这种方式更改默认值:

Wait.timeout = 20

意味着,如果未设置,默认值为20.

例如:

>>> class Wait:
...     timeout = 9
...     def __init__(self,timeout=None):
...         if timeout is not None:
...             self.timeout = timeout
... 
>>> a = Wait()
>>> b = Wait(9)
>>> a.timeout
9
>>> b.timeout
9
>>> Wait.timeout = 20
>>> a.timeout
20
>>> b.timeout
9

这利用了Python在没有找到实例属性的情况下查找类属性的事实.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读