【问题标题】:How to check if an attribute is True in Python如何在 Python 中检查属性是否为 True
【发布时间】:2020-11-03 18:11:45
【问题描述】:

我想看看object.est_devoilee is True:我需要做条件。

  • 如果 object.devoiler 是 True :那么做。

  • 如果 object.devoiler 不是 True:那么做。

起初,我的对象有 self.est_devoilee = False ,当我使用 object.devoiler 时,它变成 self.est_devoilee = True 与 def :

def devoiler(self):
    self.est_devoilee = True

我试过了

if object.devoiler() == True:

我试过了

 if case.devoiler() is not True:

但我觉得它并没有真正检查 self.est_devoilee 以前是否被使用过。就好像它总是返回 true 因为 def devoiler(self): 不返回布尔值?我只想检查 object.est_devoilee = True 但我不知道怎么做!

抱歉我的拼写错误,我是法国人。谢谢!

【问题讨论】:

  • 为什么不能直接查看if object.est_devoiler:if object.est_devoiler == True:
  • 因为它说 :TypeError: 'bool' object is not callable
  • 只有当你做了类似if object.est_devoiler(): 的事情时才会发生这种情况,也就是不必要地把括号放在最后。如果你正在调用一个函数,你只需要添加()
  • 对不起,它正在工作:我只是没有看到没有括号!谢谢你。我是Python初学者,不知道有这个方法。

标签: python python-3.x object boolean self


【解决方案1】:

devoiler() 方法不用于获取属性的值,它只是将其设置为True。如果你想检查它,只需访问属性:

if case.est_devoiler:
    # do something

【讨论】:

    猜你喜欢
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 2015-05-22
    相关资源
    最近更新 更多