【问题标题】:hasattr with functionshasattr 函数
【发布时间】:2012-04-25 12:13:39
【问题描述】:

如何使用hasattr(或不使用)检查函数或方法中是否存在attr? 当我尝试以任何方式检查它是否为 False 时:

>>> def f():
        at = True


>>> hasattr(f, 'at')
False
>>> hasattr(f(), 'at')
False

【问题讨论】:

  • 您希望如何处理这些信息?

标签: python attributes hasattr


【解决方案1】:

局部变量不是属性。您不能使用任何*attr() 来欺骗他们。

【讨论】:

  • +1。 @I159:如果你真的想看看一个函数正在使用哪些局部变量,this code 就在那里,但你的用例到底是什么?
【解决方案2】:

它应该可以工作,看下面的例子。

>>> def f():
...    f.at = True
...
>>> hasattr(f, 'at')
False
>>> f()
>>> hasattr(f, 'at')
True

【讨论】:

    猜你喜欢
    • 2018-07-23
    • 2015-07-06
    • 2014-09-18
    • 2013-04-09
    • 2021-07-09
    • 2015-07-24
    • 2011-11-04
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多