是否可以格式化' if'的内容的任何部分?语句与if语句本身在同一行?

时间:2015-04-19 03:53:32

标签: python if-statement code-formatting

我正在为初学者Python做一些练习练习,我试图确定正确的格式,如何使你的代码干净和快速,以及其他类似的东西。

我不确定的一件事是if陈述。

以下是我通常if语句的做法:

if something:
    do (something)

但我见过人们这样做:

if something:  do (something)

我甚至看过这个:

if something:  do (something)
    then do (something else)

我也看到人们使用嵌套的if语句执行此操作,其中每个if / elif / else都有第一行代码与if / elif / else本身相同的行。

这些其他方法是否可以/正确的形式?

3 个答案:

答案 0 :(得分:4)

PEP 8是Python的开创性风格指南,不鼓励这种行为:

  

通常不鼓励使用复合语句(同一行上的多个语句)。

这通常是有效的语法,只要涉及一行,但它被认为是一种不好的做法。避免它。

答案 1 :(得分:1)

我想指出Tim Peters的 Python的禅宗,特别是第1,3和7项。

$ python
>>> import this
The Zen of Python, by Tim Peters

1) Beautiful is better than ugly.
3) Simple is better than complex.
7) Readability counts.

你在中可以做很多事情,我敢打赌很多人都希望你不能这样做。我会坚持使用最简单,最容易阅读的代码,你将来会感谢自己。

答案 2 :(得分:0)

这种语法是我习惯的语法:

x = 4

if (x%2) == 0:
    print "pair"
else:
    print "impair"

你必须使用" elif" (而不是"否则,如果")用于其他替代方案。希望能帮助到你。