Python中的变量与常量

变量:在程序运行过程中,值会发生变化,
常量:在程序运行过程中,值不会发生变化。
无论是变量还是常量,创建时都会在内存中开辟一个保存其值的空间。
Python 不需要声明类型中的变量。
这是基于Python的动态语言特征。变量可以直接使用,而无需事先声明类型。例如,下面的a,b,c,d四个变量在使用前没有进行int等任何变量 a, str b, list c ,int 在C和JAVA中,d的类型声明是必要的。
>>>a=4 >>>b="haha" >>>c=[] >>>d=9-5
用“=”号给变量赋值
a=100
这里的等号应该被理解和读为“赋值”,而不是“等于”。“赋值”是对变量的操作,“等于”是对两个变量的比较。上面的a,b,c,通过“=”号,d四个变量赋予了不同的值。
使用前必须对每个变量进行赋值,变量赋值后才能创建。
新的变量创建并打开内存空间,通过赋值动作保存值。如果直接使用没有赋值,会抛出赋值前引用的异常或未命名的异常。例如:
>>>a#一个孤独的a,什么也说不出来,只能报错 Traceback(mostrecentcalllast): File"<pyshell#0>",line1,in<module> a NameError:name'a'isnotdefined >>>a=1#没问题。解释器知道a是一个新的变量 >>>c.append(1)#c是什么鬼? Traceback(mostrecentcalllast): File"<pyshell#2>",line1,in<module> c.append(1) NameError:name'c'isnotdefined
在Python中,一切都是对象,变量引用对象或对象在内存中的地址。
让我们稍后详细谈谈这篇文章。
在Python中,变量本身没有数据类型的概念,通常称为“变量类型”是变量引用的对象类型,或变量值类型。
>>>a=1
>>>a="haha"
>>>a=[1,2,3]
>>>a={"k1":"v1"}例如,变量a在创建时,赋予了值为1的整数类型,然后改为字符串“haha然后变成一个列表,最后是一个字典。变量a在动态变化中,其值分别是不同的数据类型,这是动态语言的特征。
赋值运算符“=”号是从右到左的计算顺序。
>>>a=1 >>>b=2 >>>c=a+b#先计算a+b值,再给c >>>c 3
Python允许同时赋值多个变量。
例如:a = b = c = 最后,每个人都是1。
也可以同时赋值多个变量,用逗号分隔,逐一对应。
例如:a, b, c = 1, 2, 最后a是1,b是2,c是3.
不要将赋值语句等同于数学等号。
x=1 x=x+2
若从数学上理解x = x + 无论如何都不成立,在程序中,赋值句首先计算右侧的表达式x + 2.得到结果3,然后赋予变量x。因为x之前的值是1,重新赋值后,x的值变成3。
同时,理解计算机内存中变量的表达也非常重要。当我们写作时:
a = 'ABC'Python解释器做了两件事:
1.在内存中创建一个‘ABC"字符串对象;
2.在内存中创建一个名为a的变量,并将其指向'ABC'。
您还可以将一个变量a赋值给另一个变量b,实际上是将变量b指向变量a指向的数据,例如以下代码:
a='Jack' b=a a='Tom' print(b) print(a)
最终变量b的内容是'Jack'还是'Tom'?如果你从数学意义上理解,你会错误地得出b和a是一样的‘Tom但实际上b值还是'Jack ‘!
请记住:Python中的一切都是对象,变量是对象的引用!
