抽象理解python中变量的定义过程

  关键词:变量的定义、变量的删除
  前言
    在python中,变量名真的只是一个名字而已,它维护的是一个地址,当这个地址变了,那么此时这个变量的指向也就变了,此时这个变量的值也就变了。这个变量可以指向一个整型变量,当然它也可以指向一个函数,当然它也可以指向其他的对象。
    python中"一切"皆对象,"一切"皆引用。(加上引号是为了防止出现万一的情况)

1、变量的定义:

当在python中执行如下赋值语句的时候:

a = "laoliang"  # "laoliang"是一个字符串对象

这个语句在python中一旦执行:

①那么首先申请一个内存空间存放"laoliang"(如果" laoliang"不存在于内存的话);

②同时也为变量名a分配一个内存空间(如果a不存在于内存的话);

③接着让a指向"laoliang"所在的内存空间,此时a中保存的是一个地址,即"laoliang"所在内存空间的地址。

 

 这就是python中变量的定义。

2、变量的删除:

del a

分析:

  在执行上述语句删除变量的时候,其实只是删除了一个引用而已。如果变量desc所指向的对象的引用计数不为0,那么此时该对象仍然不会被删除,此时只是变量的引用被删除了而已。

3、特殊情况分析:

当在python中执行如下赋值语句的时候:

a = "laoliang"
b = "laowang"
a, b = b, a
(1)对于语句1和语句2,参考上一小节所分析的;
(2)对于语句3:
①这个语句在python中一旦执行,那么首先分析等号右边的内容,查找右边的b和a的值。通过查找可得a = "laoliang", b = "laowang";
②等号右边的内容都找到之后,再分析左边的。此时会让a,b分别指向对应位置的新的值,即让a = b = "laowang", b = a = "laoliang"
 
执行语句3之后的变化情况:
 

 

 

 

 

 

 

 
 
posted @ 2019-09-26 13:31  数据是宝  阅读(1249)  评论(0编辑  收藏  举报