python - Python,为“if object”语句调用了哪个魔术方法
问题描述
我有一个问题,我在测试期间也找不到答案。方法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")
现在,我想覆盖在我做声明时调用的魔法方法:
如果 c:
但不知道是哪个?请指教。
解决方案
__bool__()
如果已定义,
请参见https://docs.python.org/3/library/stdtypes.html
默认情况下,对象解析为True
推荐阅读
- r - 在 R 中,您如何估算低于检测限的左删失数据?
- authentication - 气流反向代理和 DAG 隔离
- c - 使用带有结构的指针 - 不读取正确的地址
- ruby-on-rails - 将数组传递给 rails button_tag
- python - 如何根据一列中的值范围替换(编码)多个值?
- c# - 如何绑定列表
值是作为(SyncFusion)DropDownList的DataSource的“一些”对象的列表? - swift - 使用多部分表单数据上传多个图像(带参数) - Alamofire 5
- python - 从基本代码导入 xgboost 出错
- laravel - laravel 中用于订单信息的自定义中间件
- javascript - 为班级制作风格并为其他人删除