抽象理解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之后的变化情况:
附注:以上内容如觉不妥,欢迎交流。