我不完全同意接受的答案。是的,缩进在 Python 中非常重要,但是要声明if-else
必须始终以这种格式显示,这有点过分了。
只要您不做任何需要在if
,elif
或else
.
这里有些例子:
choice = 1
# if with one-liner
if choice == 1: print('This is choice 1')
# if-else with one-liners
if choice == 1: print('This is choice 1')
else: print('This is a choice other than 1')
# if-else if with one-liners
if choice == 1: print('This is choice 1')
elif choice == 2: print('This is choice 2')
# if-else if-else with one-liners
if choice == 1: print('This is choice 1')
elif choice == 2: print('This is choice 2')
else: print('This is a choice other than 1 and 2')
# Multiple simple statements on a single line have to be separated by a semicolumn (;) except for the last one on the line
if choice == 1: print('First statement'); print('Second statement'); print('Third statement')
通常不建议在一行中打包太多语句,因为那样会失去 Python 的一大特点——代码的可读性。
另请注意,上述示例也可以轻松应用于for
和while
。if
如果您使用三元条件运算符,您可以更进一步,对单行块进行一些疯狂的嵌套。
以下是操作员通常的样子:
flag = True
print('Flag is set to %s' % ('AWESOME' if True else 'BORING'))
基本上,它创建了一个简单的if-else
语句。如果您需要更多分支(但不是复杂的分支),您可以将它与您的单线之一嵌入。
我希望这能稍微澄清一下情况,什么是允许的,什么是不允许的。;)