Pythonにおける変数の概念は、基本的に中学校の代数学の方程式変数と同じです。
たとえば、方程式y=x*x
の場合、x
は変数です。 x=2
の場合、計算結果は 4
になり、x=5
の場合、計算結果は 25
になります。 。 y=x*x
,x
就是变量。当x=2
时,计算结果是4
,当x=5
时,计算结果是25
。
只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头,比如:
a = 1 变量a是一个整数。
t_007 = 'T007' 变量t_007是一个字符串。
在Python中,等号=
是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:
a = 123 # a是整数
print a
a = 'imooc' # a变为字符串
print a
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。
静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句如下(// 表示注释):
int a = 123; // a是整数类型变量
a = "mooc"; // 错误:不能把字符串赋给整型变量
和静态语言相比,动态语言更灵活,就是这个原因。
请不要把赋值语句的等号等同于数学的等号。比如下面的代码:
x = 10
x = x + 2
如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果12,再赋给变量x。由于x之前的值是10,重新赋值后,x的值变成12。
最后,理解变量在计算机内存中的表示也非常重要。当我们写:a = 'ABC'
时,Python解释器干了两件事情:
1. 在内存中创建了一个'ABC'
的字符串;
2. 在内存中创建了一个名为a
的变量,并把它指向'ABC'
。
也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:
a = 'ABC'
b = a
a = 'XYZ'
print b
最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出b和a相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:
执行a = 'ABC'
,解释器创建了字符串 'ABC'和变量 a,并把a指向 'ABC':
执行b = a
,解释器创建了变量 b,并把b指向 a 指向的字符串'ABC':
执行a = 'XYZ'
,解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:
所以,最后打印变量b
的结果自然是'ABC'
ただ、コンピューター プログラムでは、変数は数値だけでなく、あらゆるデータ型
=
は代入ステートメントであり、任意のデータ型を使用できます。同じ変数に値を繰り返し割り当てることも、異なる型の変数にすることもできます。たとえば、次のようになります。 変数自体の型が固定されていないこの種の言語は、動的言語と呼ばれます。 静的 🎜 言語へ。 🎜🎜静的言語では、代入時に型が一致しない場合、で変数を定義するときに変数の型を指定する必要があります。値を指定すると、エラーが報告されます。たとえば、Java は静的言語であり、代入ステートメントは次のとおりです (// は コメント 🎜 を意味します) : 🎜rrreeerrreee🎜 と静的言語 これに比べて、動的言語はより柔軟です。 🎜🎜代入ステートメントの等号を数学の等号と同一視しないでください。たとえば、次のコード: 🎜rrreeerrreee🎜 x = x + 2 を数学的に理解しても、それは真ではありません。プログラムでは、代入ステートメントは最初に右辺 式 🎜x + 2 の結果 12 を取得し、それを変数 x に代入します。前回の x の値は 10 だったので、再代入後の x の値は 12 になります。 🎜🎜最後に、コンピューターのメモリ内で変数がどのように表現されるかを理解することも重要です。 a = 'ABC'
と記述すると、Python インタプリタは次の 2 つのことを行います: 🎜🎜1. 'ABC'
の文字列をメモリ内に作成します ;🎜🎜2.メモリ内に a
という名前の変数を作成し、それが 'ABC'
を指すようにします。 🎜🎜変数 a を別の変数 b に割り当てることもできます。この操作では、実際には変数 b が変数 a によって示されるデータを指します: 🎜rrreeerrreeerrreeerrreee🎜 最後の行は変数 b の内容を出力します。 ABC」または「XYZ」?これを数学的な意味で理解すると、b と a は同じであり、'XYZ' であるべきであると誤って結論付けることになりますが、実際には b の値は 'ABC' です。コードを 1 行ずつ実行してみましょう。何が起こったかを見ることができます。 何が起こったか: 🎜🎜 a = 'ABC'
を実行すると、インタプリタは文字列 'ABC' と変数 a を作成し、a を 'ABC' にポイントしました: 🎜🎜 🎜🎜インタープリタ b = a
を実行します変数 b を作成し、 a が指す文字列 'ABC' を b に指します: 🎜🎜 🎜🎜 a = 'XYZ'
を実行すると、インタプリタは文字列 'XYZ' を作成し、a のポインタを 'XYZ' に変更しますが、b は変更されません: 🎜 🎜 🎜🎜それでは、最後に変数 b を出力します。
結果は当然 'ABC'
になります。 🎜以上がPython 入門: 変数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。