当前位置: 首页 > 面试题库 >

空行中的Python缩进

淳于典
2023-03-14
问题内容

哪个是首选(“。”表示空白)?

一种)

def foo():
    x = 1
    y = 2
....
    if True:
        bar()

B)

def foo():
    x = 1
    y = 2

    if True:
        bar()

我的直觉是B(这也是vim为我做的事情),但是我看到人们一直在使用A。只是因为那里的大多数编辑员都坏了吗?


问题答案:

该PEP
8
似乎并没有在这个问题上明确,但关于“空行”的表述也有利于B.该PEP
8风格检查器(pep8.py)的解释更喜欢B和如果您使用警告;
但是,两种变体都是合法的。我个人的观点是,既然Python可以在两种情况下都成功地解释代码,但这并不重要,而尝试执行它会花费很多精力,却很少。我想,如果您非常赞成一个或另一个,则可以自动将另一个转换为另一个。不过,恕我直言,尝试手动修复所有此类线路将是一项艰巨的任务,确实不值得付出努力。



 类似资料: