小编给大家分享一下Python中变量与常量是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>变量:强>在程序运行过程中,值会发生变化的量,
<强>常量:强>在程序运行过程中,值不会发生变化的量。
无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值。
Python中的变量不需要声明类型。
这是根据Python的动态语言特性而来。变量可以直接使用,而不需要提前声明类型,例如下面的a, b, c, d四个变量,在使用前没有进行任何的诸如int, str b, c, d int的类型声明,而这在c和JAVA中是必须的。
在祝辞祝辞a =, 4 在祝辞祝辞,b =,“haha" 在祝辞祝辞,c =, [] 祝辞祝辞祝辞,d =, 9 - 5
用“=焙爬锤淞扛持?br/>
a =,100
这里的等号要理解并读作“赋值”,而不是”等于”、“赋值”是对变量的操作,而“等于”是对两个变量进行比较上。面的a, b, c, d四个变量,就通过“=焙?赋予了不同的值。
每个变量在使用前都必须赋值,变量赋值以后才会被创建。
新的变量通过赋值的动作,创建并开辟内存空间,保存值。如果没有赋值而直接使用会抛出赋值前引用的异常或者未命名异常,例如:
在祝辞祝辞,a ,,,,,, #,孤单单一个,什么也表示不了,只能报的错 Traceback (most recent call 最后一个): File 才能“& lt; pyshell # 0祝辞,,,line 1,拷贝& lt; module> ,,, NameError: name & # 39;一个# 39;is not 定义 在祝辞祝辞,a =, 1,,, #,这样就没问题了,解释器知道是一个新变量了 在祝辞祝辞,c.append (1),,,,, #, c是个什么鬼吗? Traceback (most recent call 最后一个): File 才能“& lt; pyshell # 2在“,,line 1,拷贝& lt; module> ,,,c.append (1) NameError: name & # 39; c # 39;, is not
定义Python中,一切事物都是对象,变量引用的是对象或者说是对象在内存中的地址。
这条我们靠后详说。
在Python中,变量本身没有数据类型的概念,通常所说的“变量类型”是变量所引用的对象的类型,或者说是变量的值的类型。
在祝辞祝辞,a =1 在祝辞祝辞,a =,“haha" 祝辞祝辞祝辞,a =, (1, 2, 3] 祝辞祝辞祝辞,a =, {,“k1":“v1"}
例子中,变量一个在创建的时候,赋予了值为1的整数类型,然后又被改成字符串“哈哈”,再又变成一个列表,最后是个字典。变量一个在动态的改变,它的值分别是不同的数据类型,这是动态语言的特点。
“=焙耪飧龈持翟怂惴谴佑彝蟮募扑闼承颉?/p>
在祝辞祝辞,a =1 在祝辞祝辞b =, 2 在祝辞祝辞,c =, a +, b ,,,,,, #,先计算a + b的值,再赋给c 在祝辞祝辞,c 3
Python允许同时为多个变量赋值。
例如:a=b=c=1,最终大家都是1 .
也可以同时为多个变量赋值,用逗号分隔,逐一对应。
例如:a, b, c=1, 2, 3,最后一个是1,b是2,c是3。
不要把赋值语句的等号等同于数学的等号。
x =1 +=x x 2
如果从数学上理解x=x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果3,再赋给变量x。由于x之前的值是1,重新赋值后,x的值变成3 .
同时,理解变量在计算机内存中的表示也非常重要。当我们写:
=& # 39; ABC # 39;时,Python解释器干了两件事情:
1。在内存中创建了一个“ABC”的字符串对象,
2。在内存中创建了一个名为一个的变量,并把它指向& # 39;ABC # 39;。
也可以把一个变量一个赋值给另一个变量b,这个操作实际上是将变量b指向变量一所指向的数据,例如下面的代码:
a =, & # 39;杰克# 39; b =, 时间=a & # 39;汤姆# 39; 打印(b) print ()
最后变量b的内容到底是& # 39;杰克# 39;还是& # 39;汤姆# 39;?如果从数学意义上理解,就会错误地得出b和a相同是‘汤姆’,但实际上b的值还是& # 39;杰克”!
请牢记:Python中的一切都是对象,变量是对象的引用!