Python学习入门基础教程(learning Python)--2.2.1 Python下的变量解析
2013-06-27 19:42
1116 查看
前文提及过变量代表内存里的某个数据,这个说法有根据么?
这里我们介绍一个python内建(built-in)函数id。我们先看看id函数的帮助文档吧。在python查某个函数的帮助文档很简单,只用help(xxx)即可。
我们使用help查询一下id函数的具体信息如下:
从id的帮助文档里可以看出id函数返回值就是id参数object在内存里的地址。
问题又来了,内存里有重复数据么?
此代码里的2个5是分别存储还是只存储一个5呢?我们用id函数来看一看,分析一下。
从id返回值来看,前两个返回值是相等的,那我们可以总结一下,在Python里变量“指向”某块内存,这和C语言一样!当y又被赋值其他值的时候,y的id发生了变化,由此可以证明“Python变量指向内存说”的说法正确性!
++++++++++++++++++++++++++++++++++++++++++++++++++++++
这里我们介绍一个python内建(built-in)函数id。我们先看看id函数的帮助文档吧。在python查某个函数的帮助文档很简单,只用help(xxx)即可。
>>> help(id)
我们使用help查询一下id函数的具体信息如下:
Help on built-in function id in module __builtin__: id(...) id(object) -> integer Return the identity of an object. This is guaranteed to be unique among simultaneously existing objects. (Hint: it's the object's memory address.) (END)
从id的帮助文档里可以看出id函数返回值就是id参数object在内存里的地址。
问题又来了,内存里有重复数据么?
>>> x = 5 >>> x 5 >>> y = 5 >>> y 5
此代码里的2个5是分别存储还是只存储一个5呢?我们用id函数来看一看,分析一下。
>>> x = 5 >>> y = 5 >>> x 5 >>> y 5 >>> id(x) 163705520 >>> id(y) 163705520 >>> y = 6 >>> id(y) 153928356
从id返回值来看,前两个返回值是相等的,那我们可以总结一下,在Python里变量“指向”某块内存,这和C语言一样!当y又被赋值其他值的时候,y的id发生了变化,由此可以证明“Python变量指向内存说”的说法正确性!
++++++++++++++++++++++++++++++++++++++++++++++++++++++
相关文章推荐
- Python学习入门基础教程(learning Python)--2.2.1 Python下的变量解析 .
- Python学习入门基础教程(learning Python)--2.2.2 Python全局和局部变量 .
- Python学习入门基础教程(learning Python)--2.2 Python下的变量基础
- Python学习入门基础教程(learning Python)--2.2 Python下的变量基础 .
- Python学习入门基础教程(learning Python)--6.3 Python的list切片高级
- Python学习入门基础教程(learning Python)--1.2.3 Python格式化输出百分比
- Python学习入门基础教程(learning Python)--3.3.1 Python下的布尔表达式
- Python学习入门基础教程(learning Python)--6 Python下的list数据类型
- Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程
- Python学习入门基础教程(learning Python)--1.1Python程序设计流程
- Python学习入门基础教程(learning Python)--1.2.4 Python格式化输出科学计数 .
- Python学习入门基础教程(learning Python)--6.4 Python的list与函数
- Python学习入门基础教程(learning Python)--1.3 Python数据输入 .
- Python学习入门基础教程(learning Python)--1.2Python输入输出与处理 .
- Python学习入门基础教程(learning Python)--1.4 Python数据处理基础 .
- Python学习入门基础教程(learning Python)--5.3 Python写文件基础
- Python学习入门基础教程(learning Python)--3.1Python的if分支语句 .
- Python学习入门基础教程(learning Python)--1.2.1 Python输出语句print基本使用 .
- Python学习入门基础教程(learning Python)--3.2 if-else分支语句 .
- Python学习入门基础教程(learning Python)--2 Python简单函数设计 .