用户工具


python变量


变量

  • 变量在被赋值的时候才创建
  • 变量中不带有任何有关类型的信息(可以理解为一个指针)
  • 变量是通用的,可以指任意一种数据类型
  • 当变量被使用时,立即被替换成其所指的对象
  • 变量在被使用前必须被赋值
  1. 创建一个对象代表指3
  2. 创建一个变量a(如果a之前没有被创建的话)
  3. 将变量和对象相连

特殊变量

  * _xxx 不用'from module import *'导入
  * __xxx__系统定义名字''
  * __xxx 类中的私有变量名

高级内容

  • 变量是一个系统表的元素,拥有存储对象地址的空间
  • 对象是一块内存,有足够的空间去表示具体值
    • 每个对象都有2个标准头部信息
      • 对象类型标识符(类型属于对象,而不是变量)
      • 引用计数标识符(引用计数为0的对象,可以被系统回收)
    • Python允许多个变量指向同一个不可变对象(内部的优化)
      • a=1;b=1;c=1其实只创建了一个对象1,和3个变量。因为对象1是不可变的,直接可以被复用
  • 引用就是从变量到对象的指针

共享引用和修改

上图说明了大部分情况,但是如果变量a,b共享引用同一个列表或字典的话,假如a改变了列表或字典中的值,那b所指向的对象也会保持同步改变


变量和对象的“相等”判断

  • is 用来判断同一个对象
  • == 用来判断2个对象的值是否相等
a = [1,2,3]
c = b = [1,2,3]
a == b #true
a is b #false
c is b #true