使用逻辑运算符的Python默认值
我浏览了PEP8,但没有找到答案。如果我想使用一个初始值为使用逻辑运算符的Python默认值,python,pep8,Python,Pep8,我浏览了PEP8,但没有找到答案。如果我想使用一个初始值为None,那么最好先测试None,然后设置默认值?或者,利用与逻辑运算符一起使用时,None的计算结果为False 虽然示例1可能更常见,但示例2是否有任何异常错误?有什么陷阱和陷阱吗 例1: def some_func(abc=None): 如果abc为无: abc=“我的默认设置” 印刷(abc) 例2: def some_func(abc=None): 打印(abc或“我的默认设置”) 那么,其他的东西也被评估为false-所有这
None
,那么最好先测试None
,然后设置默认值?或者,利用与逻辑运算符一起使用时,None
的计算结果为False
虽然示例1可能更常见,但示例2是否有任何异常错误?有什么陷阱和陷阱吗
例1:
def some_func(abc=None):
如果abc为无:
abc=“我的默认设置”
印刷(abc)
例2:
def some_func(abc=None):
打印(abc或“我的默认设置”)
那么,其他的东西也被评估为false-所有这些东西都是用来表示“默认值”的吗?如果abc
是false
,0
或者类似的东西呢?啊,那是对的!我想这就是陷阱所在。使用或
仅在您不能将值计算为false时才有用。谢谢,这是很明显的。嗯,其他的东西也被评估为false-所有这些东西都是用来表示“默认值”的吗?如果abc
是false
,0
或者类似的东西呢?啊,没错!我想这就是陷阱所在。使用或
仅在您不能将值计算为false时才有用。谢谢,太明显了。