据我了解,python专门设计用于强制人们使用缩进,但是否有可能打破这一规则。例如:
y=[1,2,3]
print('ListY:')
for x in y:
print(x)
现在,我可以这样压缩最后两行:
for x in y:print(x)
但我做不到:
print('ListY');for x in y:print(x)
但是有办法吗?
请您参考如下方法:
首先,我应该说我同意这些技巧可能会有一些用处。不过,不会太频繁。一个很好的例子是 doctests 中的代码。它通常足够清晰,即使在压缩时也可读,并且使其紧凑通常比使其“尽可能可读”所产生的问题更少。但是,对于常规代码,加入行通常不是一个好习惯。当您无法在 if 或 for 语句中创建断点时,这通常是一个比额外的行更大的问题。如果您不练习此类技巧,覆盖工具也会提供更多信息。
但是,回答你的问题,似乎没有办法做你想做的事。使用 ; 有很多限制。 Compound statements不能与 ; 一起使用。通常这些限制是合理的,但有时我也很遗憾他们如此严格。
UPD:但是如果您非常专注于使其成为单线,则有很多技巧。例如,生成器和列表理解(而不是 for)、reduce() 等等,在 Python 3 中甚至 print() 都可以在它们内部使用。
