Python之对象引用(变量)

  • 2
  • 6,513 次
摘要

在Python中变量和Shell中是不一样的,在Python中将所有类型的数据都存放在内存中存为内存对象,在内存中这是有着特定地址的,在特定空间中存了我们的数据的对象,因此在Python中所有的变量是指向内存对象的引用。也就是说在Python中变量和对象在内存中是分开存放的。

Python之对象引用(变量)

如上图:在Python中我们存了个对象是LookBack,在内存的起始位置是139894408,而变量名name本身也是存放在内存中的,当我们让name = “LookBack”时,其实就是申明了两个内存对象,只不过name是个指针,指向了LooKback在内存中的起始值,所以就是我们把内存中LookBack这个对象赋值给了name,实现了name引用了LookBack,如果这时候我们再定义name = “Legion”的时候,会在内存中新寸一个对象是Legion,然后把name的这个指针指向Legion,所以也印证了在Python中字符串类型数据是不可改变的,所以在Python中'='的作用就是将变量名和内存中某对象完成一种绑定动作。

上面说了这么多其实就是Python的对象引用机制。

Python之对象引用(变量)

通过上图是不是发现个有趣的现象?我们先申明了name = "LookBack"其在内存中的地址为139894414653408,然后我们有申明了myname = "LookBack",但是这是我们查询发现其在内存中的地址也是139894414653408。

因为字串是不可变对象,所以只有内存中有了,它就不会再去新创建了,而是用之前的,反正变量名一个指针指过去就可以了,还可以省内存空间,何须去新创建。。。

变量命名规则

在Python中变量命名只能包含数字、字母、下划线,且不能以数字开头

区分字母大小写

禁止使用保留字(譬如 if while for等)(保留字就是系统中的关键字,程序自己为了自己正常运行预留了一些用于控制结构等以及内置的某些特定功能的字符串叫保留字也叫关键字)

变量命名惯例

以单一下划线开头的变量名(_X)不会被from module import *语句导入

前后有下划线的变量名(_X_)是系统定义的变量名,对Python解释器有特殊意义

以两个下划线开头但结尾没有下划线的变量名(__X)是类的本地变量

交互模式下,变量名"_"用于保存最后表达式的结果(见图2)

注意:变量名没有类型,只有对象才有类型

【图二】

Python之对象引用(变量)

 

  • 本文由 发表于 2015年8月27日02:54:48
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:2   其中:访客  2   博主  0
    • 凌云塔上 2

      – -要嘛不更新,一更好几篇 :!: