当 my_var
可以为 None 时使用以下格式是不好的做法吗?
if my_var and 'something' in my_var:
#do something
问题是如果 my_var 为 None,'something' in my_var
会抛出 TypeError。
或者我应该使用:
if my_var:
if 'something' in my_var:
#do something
或
try:
if 'something' in my_var:
#do something
except TypeError:
pass
换个说法,以上哪个是 Python 中的最佳实践(如果有的话)?
欢迎使用替代品!
最佳答案
取决于条件的顺序 (Python reference here) 是安全的,特别是因为您指出的问题 - 能够短路可能会导致一系列条件出现问题的评估非常有用。
这种代码在大多数语言中都会弹出:
IF exists(variable) AND variable.doSomething()
THEN ...
关于python - 在 if 语句中依赖条件评估顺序是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752373/