我不确定到底用什么标题来思考这个问题,如果有点不具体的话,编写高尔夫代码似乎是合适的。
我知道一些python中的理解,但它们似乎很难“阅读”。在我看来,理解可能与下面的代码一样:
for i in range(10): if i == 9: print('i equals 9')
这段代码比理解当前的工作方式更容易阅读,但我注意到不能在一行中有两个“:”。。。这也给我带来了。。。
有没有办法把下面的例子放在一行。
try:
if sam[0] != 'harry':
print('hello', sam)
except:
pass
像这样的事情会很好:
try: if sam[0] != 'harry': print('hellp', sam)
except:pass
但我又遇到了矛盾的“:” 我也很想知道是否有一种方法可以在没有except的情况下运行try(或类似的方法),我需要把except放在这里似乎完全没有意义:pass in there。这是一条虚线。
谢谢你的意见。。。这里有一个微笑:D
您可以使用内置的exec语句,例如:
其中,
\n
是一个换行符,\t
用作缩进(选项卡)。此外,您应该计算使用的空格,以便缩进完全匹配。
然而,正如所有其他答案已经说过的那样,这当然只在您真正需要将它放在一行时使用。
exec
是一个相当危险的语句(尤其是在构建webapp时),因为它允许执行任意Python代码。不幸的是,Python无法满足您的需求(这使得Python对于命令行的一行程序几乎毫无用处)。即使显式使用括号也不能避免语法异常。您可以使用一系列由分号分隔的简单语句:
但只要添加引入缩进块的构造(如
if
),就需要换行符。还有是合法的,可能和你想要的差不多。
至于
try ... except
的事情:如果没有except
,它将是完全无用的。try
说“我想运行这个代码,但它可能会抛出一个异常”。如果你不关心这个异常,就把try
放在一边。但一旦你把它放进去,你就在说“我想处理一个潜在的异常”。然后pass
表示不希望具体处理它。但这意味着你的代码将继续运行,否则不会。我建议不要这样做…
你所描述的是而不是一种理解。
我推荐的PEP 8 Style Guide for Python Code在复合语句中这样说:
下面是一个示例来区分:
相关问题 更多 >
编程相关推荐