单行Python代码,用于将字符串设置为0字符串(如果为空)

biz*_*nez 23 python string

什么是用于将python中的字符串设置为字符串的单行代码,如果字符串为空则为0?

# line_parts[0] can be empty
# if so, set a to the string, 0
# one-liner solution should be part of the following line of code if possible
a = line_parts[0] ...
Run Code Online (Sandbox Code Playgroud)

Ned*_*der 79

a = line_parts[0] or "0"
Run Code Online (Sandbox Code Playgroud)

这是最好的Python习语之一,可以很容易地提供默认值.对于函数的默认值,它通常像这样使用:

def fn(arg1, arg2=None):
    arg2 = arg2 or ["weird default value"]
Run Code Online (Sandbox Code Playgroud)

  • 使用它时,请确保您永远不要期望`arg2`为0或''.. (6认同)
  • 为了澄清,如果从Ned的答案中不清楚:当涉及到字符串时,空字符串总是求值为False,非空字符串总是求值为True - 这就是为什么`或`在这种情况下完美运行的原因. (5认同)
  • 我不明白 - 在函数定义中给出默认值有什么不同:def fn(arg1,arg2 ="奇怪的默认值"):? (2认同)

And*_*ton 12

a = '0' if not line_parts[0] else line_parts[0]
Run Code Online (Sandbox Code Playgroud)

  • 会更清楚如下:a = line_parts [0]如果line_parts [0]则为'0' (7认同)