Python相当于Ruby的表达式:"puts x + = value"

nem*_*ign 4 ruby python language-comparisons

出于好奇心的缘故......

在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
Run Code Online (Sandbox Code Playgroud)

这很方便.

是否可以在Python中以单行执行此操作,如果是,如何?

Ros*_*nko 6

你不能在Python中完全非常相似的原因是因为在Ruby中,一切都是表达式.

Python区分语句和表达式,只能评估表达式(因此打印,我的意思是传递给打印操作符/函数).

所以这些代码无法以你向我们展示的那种形式在Python中完成.您可以做的一切就是找到一些"类似"的方式将上面的语句写下来作为Python表达式,但它绝对不会是"Rubyous".

恕我直言,在Python中,这种行为是不可能的(如本用例中所述),很好地遵循"显式优于隐式"的Python规则.

  • 不确定我理解您的ZoP参考.给定代码隐含了什么? (2认同)