変数: プログラムの実行中に値が変化する量。
定数: プログラムの実行中に値が変化しない量。
変数でも定数でも、作成時に値を保存するためにメモリ内にスペースが開かれます。
1. Python の変数は型を宣言する必要はありません
これは、Python の動的言語機能に基づいています。変数は、事前に型を宣言しなくても直接使用できます。たとえば、次の 4 つの変数 a、b、c、d には、C 言語や JAVA プログラミング言語で必要な、使用前に int a、str b、list c、int d などの型宣言がありません。
例:
a = 4 b = "haha" c = [] d = 9-5
a = 100
3. 各変数には使用前に値を割り当てる必要があり、値が割り当てられるまで変数は作成されません。
新しい変数はメモリ空間を作成して開放し、代入アクションを通じて値を保存します。代入せずに直接使用すると、代入前に参照された例外または名前のない例外がスローされます。
例:
a # 孤单单一个a,什么也表示不了,只能报错 a = 1 # 这样就没问题了,解释器知道a是个新变量了 c.append(1) # c是个什么鬼? NameError: name 'c' is not defined
結果:
#4. Python では、変数自体にはデータ型の概念がありません
一般に「変数の型」と呼ばれるのは、オブジェクトの型です。変数、または変数の値の型によって参照されます。a = 1
a = "haha"
a = [1, 2, 3]
a = { "k1":"v1"}
变量a在创建的时候,赋予了值为1的整数类型,然后又被改成字符串“haha”,再又变成一个列表,最后是个字典。变量a在动态的改变,它的值分别是不同的数据类型,这是动态语言的特点。
5. “=”号这个赋值运算符是从右往左的计算顺序
a = 1 b = 2 c = a + b # 先计算a+b的值,再赋给c print(c)
6. Python允许同时为多个变量赋值
(例如:a = b = c = 1,最终大家都是1)。也可以同时为多个变量赋值,用逗号分隔,逐一对应。
例如:a, b, c = 1, 2, 3,最后a是1,b是2,c是3。
不要把赋值语句的等号等同于数学的等号。
x = 1 x = x + 2
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中的一切都是对象,变量是对象的引用!
图:
执行a = ‘Jack’,解释器创建字符串‘Jack’对象和变量a,并把a指向‘Jack’对象;
执行b = a,解释器创建变量b,并且将其指向变量a指向的字符串‘Jack’对象;
执行a = ‘Tom’,解释器创建字符串‘Tom’对象,并把a改为指向‘Tom’对象,与b无关。
常量就是不变的变量,比如常用的数学常数圆周率就是一个常量。在Python中,通常用全部大写的变量名表示常量:
PI = 3.14159265359
但事实上,从Python语法角度看,PI仍然是一个变量,因为Python根本没有任何机制保证PI不会被改变。你完全可以给PI赋值为10,不会弹出任何错误。所以,用全部大写的变量名表示常量只是一个习惯上的用法。
常量通常放置在代码的最上部,并作为全局使用。
本文基于Python基础,主要介绍了Python基础中变量和常量的区别,对于变量的用法做了详细的讲解,用丰富的案例 ,代码效果图的展示帮助大家更好理解 。
以上がこの記事は、Python の変数と定数を理解するのに役立ちますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。