当前位置: 首页 > 知识库问答 >
问题:

Python,为if对象语句调用哪个神奇的方法[重复]

董元徽
2023-03-14

我有一个问题,我在测试中也找不到答案。方法pos和neg对我不起作用。

假设我们有一个简单的类:

class Test:
def __init__(self,
             param=False):
    self.param = param

if __name__ == '__main__':
    c = Test()
    if c:  # which Python magic method is invoked here?
        print("OK")
    else:
        print("Nok")

现在,我想重写magic方法,它在我做语句时被调用:

如果是c:

但我不知道是哪个?请给我一些建议。

共有1个答案

彭阳荣
2023-03-14

\uuuu bool\uuuu()如果已定义,请参见https://docs.python.org/3/library/stdtypes.html

默认情况下,对象解析True

 类似资料:
  • 我不相信为什么下面的陈述是有效的并且不会引发异常。 somelist是空的,首先检查if()是有效的,但是如何获取空引用的大小呢?这不违法吗? 还是它是这样工作的: 仅当条件1为真时,检查条件2? 因为我不相信,虽然我通过编写测试代码来确认。我总是喜欢下面: 请帮助我理解逻辑

  • Python3 实例 以下实例通过使用 if...elif...else 语句判断数字是正数、负数或零: 实例(Python 3.0+)# Filename : test.py # author by : www.runoob.com # 用户输入数字 num = float(input("输入一个数字: ")) if num > 0: print("正数") elif num == 0: pri

  • 目前遇到此语法错误,错误发布在代码下方。 上面的代码,无法找出if语句上的语法错误。错误消息将很快粘贴为注释

  • 问题内容: 我有一个方法可以依次调用其他4种方法来检查特定条件,并且每当一个方法返回Truthy时立即返回(而不检查以下方法)。 这似乎是很多行李代码。与其执行每行2行的if语句,不如执行以下操作: 但这是无效的Python。我在这里错过了一个简单,优雅的解决方案吗?顺便说一句,在这种情况下,这四种检查方法可能很昂贵,因此我不想多次调用它们。 问题答案: 您可以使用循环: 这样做还有一个好处,就是

  • 我试图找出如何将regex合并到python if语句中。我有一个pandas数据框架,在其中我迭代行,并希望在每一行具有特定的文本组合时执行一个操作。正则表达式应匹配任何以大写字母开头,后跟6个数字(即R142389)的7个字符串 我这样做对吗?任何帮助都将不胜感激!

  • 如何使用类的对象调用函数?