为什么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 相关文章推荐
Python笔记(叁)继续学习
Oct 24 Python
python中查看变量内存地址的方法
May 05 Python
python itchat实现微信自动回复的示例代码
Aug 14 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
python FTP批量下载/删除/上传实例
Dec 22 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
Python tkinter 下拉日历控件代码
Mar 04 Python
Python 如何批量更新已安装的库
May 26 Python
python如何求100以内的素数
May 27 Python
python+openCV对视频进行截取的实现
Nov 27 Python
python 用递归实现通用爬虫解析器
Apr 16 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
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
jQuery 渐变下拉菜单
2009/12/15 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
Python实现备份文件实例
2014/09/16 Python
Python中max函数用法实例分析
2015/07/17 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
我的中国梦演讲稿1000字
2014/08/19 职场文书
基石观后感
2015/06/12 职场文书
运输公司工作总结
2015/08/11 职场文书
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python