关于Python的自增运算
来源:互联网 发布:达思数据恢复官网 编辑:程序博客网 时间:2024/05/20 04:49
刚开始学 python,当想要自增运算的时候很自然的 a++,结果发现编译器是不认识 ++ 的,于是去网上搜了一下,结果发现一篇老外的问答很精彩,涉及到了 python 这个语言的设计原理
问题无外乎就是 python 没有自增运算符,自增操作是如何实现的
回答中有人介绍了关于自增操作,python 不使用 ++ 的哲学逻辑:编译解析上的简洁与语言本身的简洁,就不具体翻译了
后面还有老外回答并附带了一个例子非常的精彩,指出了 python 与 c 语言概念上的一些差异,语言描述的可能未必准确,直接上例子:
>>> b = 5 >>> a = 5 >>> id(a) 162334512 >>> id(b) 162334512 >>> a is b True
可以看出, python 中,变量是以内容为基准而不是像 c 中以变量名为基准,所以只要你的数字内容是5,不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了 python 中一个变量可以以多个名称访问
这样的设计逻辑决定了 python 中数字类型的值是不可变的,因为如果如上例,a 和 b 都是 5,当你改变了 a 时,b 也会跟着变,这当然不是我们希望的
因此,正确的自增操作应该 a = a + 1 或者 a += 1,当此 a 自增后,通过 id() 观察可知,id 值变化了,即 a 已经是新值的名称。
原文地址:点击打开链接
1 0
- 关于 python 的自增运算
- 关于Python的自增运算
- 关于python自增运算
- python 的自增运算符
- 关于自增符的运算
- 关于自增和赋值的运算
- 关于自增自减运算符的一些问题
- 关于自增、自减运算符的笔记
- 关于自增自减运算符的一些问题
- 关于自增自减:C、C++自增自减运算符的研究
- 关于自增与运算
- 关于自增运算符
- 关于自增运算符
- 关于前缀自增运算符与后缀自增运算符的区别,以及利弊
- 关于java中的自增运算符的老问题
- 关于自增运算符++a和a++的问题
- 关于 C# 自增运算符(operator ++)的重载
- 关于指针和自增运算符的优先级
- Android学习笔记之mainfest文件中android属性
- VC定义的三种类型DLL有什么区别
- 2D游戏中的碰撞检测:圆形与矩形碰撞检测(Javascript&C++版)
- wince 6.0 回调函数的理解
- 十步完全理解SQL
- 关于Python的自增运算
- 虚拟机安装雨林木风XP遇到的一些问题
- PDF文件怎样解密
- 操作fd_set结构体的宏(其实,你也可以理解为函数,只要你喜欢)
- 转载:PostgreSQL源码分析之内存上下文
- dll中多线程使用回调函数
- [转]Linux网络协议栈分析——从设备驱动到链路层
- 质点跟踪在气象矢量场分析中的应用
- 转载:PostgreSQL源码分析之page