如上图:在Python中我们存了个对象是LookBack,在内存的起始位置是139894408,而变量名name本身也是存放在内存中的,当我们让name = “LookBack”时,其实就是申明了两个内存对象,只不过name是个指针,指向了LooKback在内存中的起始值,所以就是我们把内存中LookBack这个对象赋值给了name,实现了name引用了LookBack,如果这时候我们再定义name = “Legion”的时候,会在内存中新寸一个对象是Legion,然后把name的这个指针指向Legion,所以也印证了在Python中字符串类型数据是不可改变的,所以在Python中'='的作用就是将变量名和内存中某对象完成一种绑定动作。
上面说了这么多其实就是Python的对象引用机制。
通过上图是不是发现个有趣的现象?我们先申明了name = "LookBack"其在内存中的地址为139894414653408,然后我们有申明了myname = "LookBack",但是这是我们查询发现其在内存中的地址也是139894414653408。
因为字串是不可变对象,所以只有内存中有了,它就不会再去新创建了,而是用之前的,反正变量名一个指针指过去就可以了,还可以省内存空间,何须去新创建。。。
变量命名规则:
在Python中变量命名只能包含数字、字母、下划线,且不能以数字开头
区分字母大小写
禁止使用保留字(譬如 if while for等)(保留字就是系统中的关键字,程序自己为了自己正常运行预留了一些用于控制结构等以及内置的某些特定功能的字符串叫保留字也叫关键字)
变量命名惯例:
以单一下划线开头的变量名(_X)不会被from module import *语句导入
前后有下划线的变量名(_X_)是系统定义的变量名,对Python解释器有特殊意义
以两个下划线开头但结尾没有下划线的变量名(__X)是类的本地变量
交互模式下,变量名"_"用于保存最后表达式的结果(见图2)
注意:变量名没有类型,只有对象才有类型
【图二】
2015年8月27日 下午5:24 1F
– -要嘛不更新,一更好几篇
2015年8月28日 上午5:35 1B
@ 凌云塔上 任性~~~~~~~~