换行下的压痕

时间:2018-08-24 20:54:26

标签: python-3.x indentation wrapping ident

我开始编程和使用Pycharm。我采用了79行作为最大行长。但是现在我不知道是否使用额外的选项卡缩进下一行,因为前一行已经缩进了第一行。这说明了我的意思:

我可以使用:

if len(word) % 2 == 1:
    cent = len(word) // 2
    if (word[cent] == 'a' or word[cent] == 'e' or word[cent] == 'i'
            or word[cent] == 'o' or word[cent] == 'u'):
                print('The word's center is a lowercase vowel')

或者这个:

if len(word) % 2 == 1:
    cent = len(word) // 2
    if (word[cent] == 'a' or word[cent] == 'e' or word[cent] == 'i'
            or word[cent] == 'o' or word[cent] == 'u'):
        print('The word's center is a lowercase vowel')

两种方法都可以。

因此,对于这些情况是否有约定。 提前谢谢大家! 祝你有美好的一天:)

2 个答案:

答案 0 :(得分:0)

您可以使用\作为一行中的最后一个字符来表示“此行在下一行中继续”-这有助于在无法破坏“正常” python代码的情况下(不是您的情况)。

您的示例更适合

vowels = set("aeiou") # maybe faster then list-lookup if used several times
if word[cent] in vowels:

或通过

if word[cent] in "aeiou":

或通过

def isVowel(ch):
    return ch in "aeiou"

if isVowel(word[cent]):

PEP-8 maximum line lenght讲述了如何“正确格式化”。

答案 1 :(得分:0)

每个PEP8 https://www.python.org/dev/peps/pep-0008/#maximum-line-length

  

包裹长行的首选方法是在括号,方括号和花括号内使用Python的隐含行连续性。通过将表达式包装在括号中,可以将长行分成多行。应该优先使用这些字符,而不是使用反斜杠来继续行。

对于后续行的缩进,还包括更多缩进以区别于其余部分。

https://www.python.org/dev/peps/pep-0008/#indentation

代码如下:

if len(word) % 2 == 1:
    cent = len(word) // 2
    if (word[cent] == 'a' or word[cent] == 'e' or word[cent] == 'i'
            or word[cent] == 'o' or word[cent] == 'u'):
        print("The word's center is a lowercase vowel")