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

标签 python ruby 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

非常方便。

是否可以在 Python 中在一行中完成此操作,如果可以,怎么做?

最佳答案

在 Python 中不能完全非常相似的原因是在 Ruby 中,一切都是表达式。。 p>

Python 区分语句和表达式,并且只能计算表达式(因此打印,我的意思是传递给打印运算符/函数)。

所以这样的代码不能以您向我们展示的那种形式在 Python 中完成。你所能做的就是找到一些“类似”的方式将上面的语句写成 Python 表达式,但它绝对不会是那种“Rubyous”。

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

关于Python 相当于 Ruby 的表达式 : "puts x += value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12264696/

相关文章:

Python:打印用户输入的常见字母

ruby-on-rails - 在 Rails 中生成 CakePHP 密码

php - Python:PHP "=="的等价物是什么

python - 在 anaconda 上将 pip 升级到 ver18

python - 图论 : Finding all possible paths of 'n' length (with some constraints)

ruby-on-rails - 无方法错误 : undefined method `digest'

programming-languages - 为什么有些语言要求在调用之前在代码中声明函数?

java - Java 是否有默认的复制构造函数(如 C++)?

python - PyQt5/pyqt4 是否已经支持具有手写识别功能的 QtVirtualKeyboard?

ruby-on-rails - CheckoutController#edit 在哪里?