cry*_*mer 1 python syntax python-3.x
这很好用
x = 0
while True:
x += 1
print(x)
Run Code Online (Sandbox Code Playgroud)
而这
x = 0
while True:
print(x += 1)
Run Code Online (Sandbox Code Playgroud)
不
我想要一个可以计数到无穷大或至少直到最大位数的程序
与许多其他语言不同,在其他语言中,赋值是一个表达式并计算出指定的值,而在 Python 中,赋值是它自己的语句。因此它不能用在表达式中。
这样做的一个优点是,如果您忘记了语句=中的an if(即您本来想写==,但改为写=),您会收到错误:
if a = b: # this is an assignment not a comparison! SyntaxError
Run Code Online (Sandbox Code Playgroud)
在某些其他语言中,这在语法上是有效的,但不会给你想要的结果,从而导致脱发错误。(这是发明 linter 的原因之一。语言本身并不能阻止你犯这个错误,所以他们创建了一个外部工具来帮助解决这个问题。)
Python 3.8 添加了赋值运算符 ,:=又名海象运算符。它的行为类似于其他语言中的赋值,尽管您仍然不能在任何地方使用它。所以这有效:
x = 0
while True:
print(x := x + 1)
Run Code Online (Sandbox Code Playgroud)
不幸的是(或者幸运的是)没有+:=,我猜你会称之为增强海象。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |