出于好奇...
在 ruby 中:
=>$ irb
1.8.7 :001 > puts x = 2
2
=> nil
1.8.7 :002 > puts x += 2 while x < 40
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
非常方便。
是否可以在 Python 中在一行中完成此操作,如果可以,怎么做?
最佳答案
在 Python 中不能完全或非常相似的原因是在 Ruby 中,一切都是表达式。。 p>
Python 区分语句和表达式,并且只能计算表达式(因此打印,我的意思是传递给打印运算符/函数)。
所以这样的代码不能以您向我们展示的那种形式在 Python 中完成。你所能做的就是找到一些“类似”的方式将上面的语句写成 Python 表达式,但它绝对不会是那种“Rubyous”。
恕我直言,在 Python 中,这种行为是不可能的(如本用例中所述),很好地遵循了“显式优于隐式”Zen of Python 规则。
关于Python 相当于 Ruby 的表达式 : "puts x += value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12264696/