较旧的Python版本仅允许在
for ...:
if ...:
或类似的块入口语句之后添加一个简单的语句。
我看到同一行上可以有多个简单的语句。但是, 许多组合都是无效的。例如, 我们可以:
for i in range(3): print "Here's i:"; print i
...但是, 另一方面, 我们不能:
for i in range(3): if i % 2: print "That's odd!"
我们可以:
x=10
while x > 0: print x; x-=1
...但是我们不能:
x=10; while x > 0: print x; x-=1
...等待
无论如何, 它们都被视为非Python。如果您编写这样的代码, 那么经验丰富的python专家可能对您的技能含糊其词。
在某些情况下, 可以将多个运算符组合成一个字符串。例如:
x=0; y=1
...甚至:
if some_condition(): break
...用于简单的运算符或分配
break
continue
甚至
return
。
特别是, 如果要使用
elif
系列, 则可以使用以下方法:
if keystroke == 'q': break
elif keystroke == 'c': action='continue'
elif keystroke == 'd': action='delete'
# ...
else: action='ask again'
...那么您可以避免惹恼您的同事。(但是, 这样的
elif
字符串正在尖叫要转换为时间表...它看起来更像是字典:
dispatch = {
'q': foo.break,
'c': foo.continue,
'd': foo.delete
}
# ...
while True:
key = SomeGetKey()
dispatch.get(key, foo.try_again)()