这是一种非常不同的编程风格,但是我总是尝试重写看起来像
bar = Noneif foo(): bar = "Baz"if bar is None: bar = "Quux"
变成:
if foo(): bar = "Baz"else: bar = "Quux"
就是说,我尽力避免某些代码路径定义变量而其他代码没有定义变量的情况。在我的代码中,永远不会有导致定义的变量集模糊的路径(实际上,我通常会更进一步,并确保无论代码路径如何,
类型 都是相同的)。这可能只是个人喜好,但我发现了这种模式,尽管在编写时不太明显,但在以后阅读时更容易理解。



