有一个功能:
def checkSomething(var,varList):
if var in varList:
doSomeStuff()
else:
print("error")
传递的值使得 else 分支不应该被执行(例如 var=354, varList=[123,321,354])。在检查条件之前打印传递的值可以确认这一点,但是以某种难以理解的方式执行了 else 分支。
同时,如果您尝试在命令行上运行相同的东西(没有任何框架和库),那么一切都会正常运行(即不执行 else)
问题是,这怎么可能以及如何避免呢?
这是运行良好的代码。
总的来说,我自己就是个傻瓜,问题是 var 实际上不是 int (如我所想),而是 unicode