python - 为什么python有前自增运算符但没有后自增?
问题描述
我尝试在 python 3.7.1 中使用预增量运算符(++var_name),它不会产生任何语法错误,这与产生语法错误的后增量运算符(var_name++)不同。有人可以解释一下吗?
count = 0
++count
print(count)
输出是:
0
[Finished in 0.7s]
但是当我使用后增量时,输出是不同的
count = 0
count++
print(count)
t
他的输出是:
count++
^
SyntaxError: invalid syntax
[Finished in 0.1s]
解决方案
Python 没有增量运算符,pre 或 post。++count
被解释为一元运算符的两个操作+
:(+(+count))
,这里什么都不做,所以结果是 0。
要递增,唯一的选择是使用就地加法运算符,并递增 1:
count += 1
推荐阅读
- python - 如何将 Pandas 数据框转换为以下(水平)形式?
- f# - 为什么我不能用do!当我想忽略结果时,在 F#
- next.js - Next js 在公用文件夹中找不到 favicon
- swift - 如何在 Swift 中创建一个空的彩色 CGImage 画布
- webpack - @angular/cli/plugins/webpack 的插件替换是什么?
- dataframe - 从编程的角度来看,什么是数据框?
- python - 为什么不能在 VSCode 调试控制台中删除 Python 变量?
- azure - Terraform null_resource 未与后端一起运行
- google-cloud-platform - GCP 多账户自动成本控制服务
- algorithm - 构造一个 O(n) 平均情况算法以从 n 个点的列表中找到最近的 m 个点