gpt4 book ai didi

python - 如何将多个语句放在一行中?

转载 作者:IT老高 更新时间:2023-10-28 12:34:39 25 4
gpt4 key购买 nike

我知道一点 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

但我又遇到了冲突的 :s.

我也很想知道是否有一种方法可以在没有 except 的情况下运行 try(或类似的东西)。我需要将 except:pass 放在那里似乎完全没有意义。这是一条浪费的线路。

最佳答案

不幸的是,Python 无法实现您想要的(这使得 Python 对于命令行单行程序几乎毫无用处)。即使显式使用括号也不能避免语法异常。您可以使用以分号分隔的一系列简单语句:

for i in range(10): print "foo"; print "bar"

但是,一旦您添加了一个引入缩进 block 的构造(如 if),您就需要换行。还有,

for i in range(10): print "i equals 9" if i==9 else None

是合法的,可能近似于您想要的。

如果您仍然确定使用单行,请参阅 elecprog 的答案.

至于 try ... except 事情:没有 except 完全没用。 try 说“我想运行这段代码,但它可能会抛出异常”。如果您不关心异常,请忽略 try。但是一旦你把它放进去,你就是在说“我想处理一个潜在的异常”。 pass 然后表示您不希望专门处理它。但这意味着您的代码将继续运行,否则不会。

关于python - 如何将多个语句放在一行中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6167127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com