(Python) ifs、loops 等中的编码风格括号

T t*_*T t -2 python coding-style parentheses

只是你的个人喜好,你更喜欢哪个?

if filename in filesAndFoldersList:
    while a != "TEST":
        a = input("Input: ")
Run Code Online (Sandbox Code Playgroud)

或者

if(filename in filesAndFoldersList):
    while(a != "TEST"):
        a = input("Input: ")
Run Code Online (Sandbox Code Playgroud)

任何一个都有效,所以我认为这只是个人喜好。第二个更类似于 Java/C++。但是你更喜欢哪个,为什么?

Mar*_*ers 5

你应该从来没有声明的关键字后直接使用括号,正如你在第二个样式做的。你让它们看起来像是函数,这让读者感到困惑。您所做的只是将表达式分组在括号中,Python 将忽略这些,您所做的就是删除关键字后面的空格。

您也不能在所有复合语句中使用该样式;您不能将样式与包含子句的for循环或with语句一起使用as <target>

Python的风格指南只字不提第二(括号)的风格,在所有; 它假设没有人会使用它。

请注意,这是从不同的周围使用长括号表达式,在您使用(...)周围的if条件表达式,如果它在其他方面太长,不适合在一行。在这种情况下,您希望在开头(if关键字之间放置一个空格:

if (
    this_is_one_thing and
    that_is_another_thing or
    (more_conditions and such_things)
):
    do_something()
Run Code Online (Sandbox Code Playgroud)