为什么Python中没有"a++"这种写法


Posted in Python onNovember 27, 2018

一开始学习 Python 的时候习惯性的使用 C 中的 a++ 这种写法,发现会报 SyntaxError: invalid syntax 错误,为什么 Python 没有自增运算符的这种写法呢?

我们可以看一下 Python 下:

>>>a = 2
>>>b = 2
>>>id(a) #id() 函数用于获取对象的内存地址。
140732976575344
>>>id(b)
140732976575344
>>>

再来看看 C 语言中:

#include<stdio.h>
int main()
{
 int a = 1;
 int b = 1;
 printf("%d\n",&a);
 printf("%d\n",&b);
 return 0;
}

输出:

这里可以看出 Python 在变量的存储上与 C 语言的不同,在 C 语言中,值的存储以变量名来区分,一个变量具有单独的地址空间;而 Python 中则不一样,只要值是相同的,不管你的变量名是什么,它们的地址都是相同的,也就是说, Python 允许一个值被多个变量名称绑定。

这里说明一下,在脚本式编程环境中是这样,但是在交互式编程环境下,Python 为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间,编译器会有一个小整数池的概念,小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收,也就是说,变量在这个范围内是会按照前面所说的,共用内存地址,超过这个值则使用单独的内存地址。 如:

>>>a=1000
>>>b=1000
>>>id(a);id(b)
266662366224
266617350384
>>>

总结

以上所述是小编给大家介绍的为什么Python中没有"a++"这种写法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
Python3基础之list列表实例解析
Aug 13 Python
python实现可将字符转换成大写的tcp服务器实例
Apr 29 Python
总结Python编程中三条常用的技巧
May 11 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
May 21 Python
Python抓取框架 Scrapy的架构
Aug 12 Python
如何在django里上传csv文件并进行入库处理的方法
Jan 02 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
python实现把两个二维array叠加成三维array示例
Nov 29 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
Mar 27 Python
python 绘制场景热力图的示例
Sep 23 Python
详解python爬取弹幕与数据分析
Nov 14 Python
django session完成状态保持的方法
Nov 27 #Python
Python3实现腾讯云OCR识别
Nov 27 #Python
python利用百度AI实现文字识别功能
Nov 27 #Python
python如何实现一个刷网页小程序
Nov 27 #Python
python实现简单的文字识别
Nov 27 #Python
python中类的属性和方法介绍
Nov 27 #Python
Python2和Python3中urllib库中urlencode的使用注意事项
Nov 26 #Python
You might like
德劲1103二次变频版的打磨
2021/03/02 无线电
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
js实现幻灯片轮播图
2020/08/14 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
linux下python抓屏实现方法
2015/05/22 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
老公给老婆的保证书
2014/04/28 职场文书
自我管理的活动方案
2014/08/25 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
MySQL注入基础练习
2021/05/30 MySQL
mysq启动失败问题及场景分析
2021/07/15 MySQL
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server