我开始编程和使用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')
无论哪种方式都奏效了。
那么,这些情况是否有约定。 提前感谢大家! 祝你有美好的一天:)
根据 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")
您可以使用作为一行中的最后一个字符来表示"此行在下一行继续" - 这有助于"正常"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 最大行长说明如何"正确格式化"。