在Python中无法将
try/
except块压缩到一行上。
另外,不知道变量是否像在其他动态语言中一样,在Python中是否存在也是一件坏事。比较安全的方法(和流行的样式)是将所有变量设置为某种值。如果他们可能就不会置,将其设置为
None第一(或
0或
''或如果它是更适用的东西。)
如果 确实要 分配所有您感兴趣的名称,则可以选择。
最好的选择是if语句。
c = None
b = [1, 2]
if c is None:
a = b
else:
a = c单线选项是一个条件表达式。
c = None
b = [1, 2]
a = c if c is not None else b有些人滥用
or
这样做的短路行为。 这容易出错, 所以我从不使用它。c = None
b = [1, 2]
a = c or b
考虑以下情况:
c = []b = [1, 2]a = c or b
在这种情况下,
a可能 应该 为
[],但这是
[1,2]因为
[]在布尔上下文中为false。因为有很多可能为假的值,所以我不使用
or技巧。(这是人们在表达
iffoo:自己的意思时遇到的相同问题
if foo is not None:。)



