前書き

*変数*は、習得すべき重要なプログラミング概念です。 これらは基本的に、プログラムで使用している値を表すシンボルです。

このチュートリアルでは、いくつかの変数の基本と、作成したPython 3プログラム内で変数を最適に使用する方法について説明します。

変数を理解する

技術的には、変数は、シンボル名または識別子に関連付けられた値に保存場所を割り当てます。 変数名は、コンピュータープログラム内の保存された値を参照するために使用されます。

変数は、値が関連付けられている名前の付いたラベルと考えることができます。

image:https://assets.digitalocean.com/articles/eng_python/Variables/variable_value.png [Pythonの変数]

整数 `+ 103204934813 `があり、長い数字を何度も繰り返し再入力するのではなく、変数に保存したいとしましょう。 代わりに、変数 ` my_int +`のような覚えやすいものを使用しましょう。

my_int = 103204934813

値に関連付けられたラベルのように考えると、次のようになります。

image:https://assets.digitalocean.com/articles/eng_python/Variables/variable_example.png [Python変数の例]

ラベルには変数名「+ my_int 」が書き込まれており、整数値「+103204934813」に関連付けられています。

フレーズ `+ my_int = 103204934813 +`は*割り当てステートメント*であり、いくつかの部分で構成されています。

  • 変数名( + my_int +

  • 等号( + = +)としても知られる*割り当て演算子*

  • 変数名に関連付けられている値( + 103204934813 +

これらの3つの部分が一緒になって、変数 `+ my_int `を整数 ` 103204934813 +`の値に設定するステートメントを構成します。

値に等しい変数を設定するとすぐに、その変数を*初期化*または作成します。 それが完了すると、値の代わりに変数を使用するように設定されます。 Pythonでは、一部のプログラミング言語のように、変数を使用する前に明示的に宣言する必要はありません。変数の使用をすぐに開始できます。

`+ my_int `を ` 103204934813 `の値に設定したらすぐに、整数の代わりに ` my_int +`を使用できるので、出力します。

print(my_int)
Output103204934813

変数を使用すると、https://www.digitalocean.com/community/tutorials/how-to-do-math-in-python-3-with-operators [math]をすばやく簡単に実行できます。 `+ my_int = 1040 +`を使用して、整数値813を減算します。

print(my_int - 813)
Output103204934000

この例では、Pythonが計算を行い、変数 `+ my_int `から813を減算して、合計 ` 103204934000 +`を返します。

数学といえば、変数は数学方程式の結果に等しく設定できます。 2つの数値を加算し、合計値を変数 `+ x +`に保存しましょう。

x = 76 + 145

上記の例は、すでに慣れ親しんでいる代数のように見えるかもしれません。 代数では、変数がデータ型の値を表すシンボリック名のように、文字や他の記号を使用して数式や方程式内の数値や数量を表します。 正しいPython構文を得るには、変数が方程式の左側にあることを確認する必要があります。

先に進み、「+ x +」を印刷しましょう。

print(x)
Output221

Pythonは、変数「+ x 」が「+76」と「145」の合計に等しく設定されているため、値「221」を返しました。

変数は、整数だけでなく、任意のデータ型を表すことができます。

my_string = 'Hello, World!'
my_flt = 45.06
my_bool = 5 > 9 #A Boolean value will return either True or False
my_list = ['item_1', 'item_2', 'item_3', 'item_4']
my_tuple = ('one', 'two', 'three')
my_dict = {'letter': 'g', 'number': 'seven', 'symbol': '&'}

上記の変数のいずれかを出力すると、Pythonはその変数と同等のものを返します。 たとえば、上のhttps://www.digitalocean.com/community/tutorials/understanding-lists-in-python-3[list data type]の割り当てステートメントを使用してみましょう。

my_list = ['item_1', 'item_2', 'item_3', 'item_4']
print(my_list)
Output['item_1', 'item_2', 'item_3', 'item_4']

`+ [‘item_1’、 ‘item_2’、 ‘item_3’、 ‘item_4’] `のリスト値を変数 ` my_list `に渡し、 ` print()`関数を使用して出力しましたその値は、 ` my_list +`を呼び出すことによって。

変数は、コンピューター内のメモリの小さな領域を切り出すことで機能します。この領域は、指定された値を受け入れ、その領域に関連付けられます。

変数の命名:ルールとスタイル

変数の命名は非常に柔軟ですが、留意する必要があるいくつかのルールがあります。

  • 変数名は1語のみである必要があります(スペースなしなど)

  • 変数名は、文字、数字、アンダースコアのみで構成する必要があります( + _ +

  • 変数名は数字で始めることはできません

上記のルールに従って、有効な変数名と無効な変数名の両方を見てみましょう。

Valid Invalid Why Invalid

my_int

my-int

Hyphens are not permitted

int4

4int

Cannot begin with a number

MY_INT

$MY_INT

Cannot use symbols other than _

another_int

another int

Cannot be more than one word

変数に名前を付けるときに留意すべきことは、大文字と小文字が区別されることです。つまり、「+ my_int 」、「 MY_INT 」、「 My_Int 」、および「 mY_iNt +」はすべて完全に異なる変数です。 プログラム内で同様の変数名を使用することは避け、現在および将来の共同編集者の両方が変数をまっすぐに保つことができるようにしてください。

最後に、スタイルに関するいくつかの注意事項。 従来、変数に名前を付けるときは、変数を小文字で開始し、単語を区切るときにアンダースコアを使用するのが一般的です。 大文字で始まることは無効ではなく、変数を記述するときにキャメルケースまたは大文字と小文字が混在することを好む人もいますが、これらはあまり一般的ではありません。

Conventional Style Unconventional Style Why Unconventional

my_int

myInt

camelCase not conventional

int4

Int4

Upper-case first letter not conventional

my_first_string

myFirstString

camelCase not conventional

最も重要なスタイルの選択は、一貫性を保つことです。 変数名にcamelCaseを使用していた既存のプロジェクトで作業を開始する場合、既存のスタイルを引き続き使用することをお勧めします。

PEP 8は、公式のPythonコードスタイルガイドであり、Pythonについてのスタイルに関する多くの質問に対応しています。 一般に、読みやすさと一貫性は、他の文体的な懸念よりも好まれます。

変数の再割り当て

*変数*という言葉が示すように、Python変数は簡単に変更できます。 これは、単純な再割り当てによって、以前に割り当てられた変数に別の値を非常に簡単に接続できることを意味します。

プログラムの過程を通じて、ユーザーが生成した値を既に初期化された変数に受け入れる必要がある場合や、以前に定義したものに割り当てを変更する必要がある場合があるため、再割り当てができると便利です。

変数を簡単かつ簡単に再割り当てできることを知っていると、他の人が始めた大きなプログラムで作業していて、定義済みのものがまだわからない場合にも役立ちます。

最初に「+ x +」を整数として割り当て、次にhttps://www.digitalocean.com/community/tutorial_series/working-with-strings-in-python-3[string]として再割り当てします。

#Assign x to be an integer
x = 76
print(x)

#Reassign x to be a string
x = "Sammy"
print(x)
Output76
Sammy

上記の例は、最初に変数 `+ x `を割り当てて整数の値を割り当て、次に変数 ` x +`を文字列の値に割り当てて再割り当てできることを示しています。

この方法でプログラムを書き直した場合:

x = 76
x = "Sammy"
print(x)

それは最新の割り当てであるため、出力として2番目に割り当てられた値のみを受け取ります。

OutputSammy

変数の再割り当ては場合によっては役立ちますが、コードの読みやすさを認識し、プログラムをできるだけ明確にするように努力する必要があります。

複数の割り当て

Pythonでは、1つの単一の値を複数の変数に同時に割り当てることができます。 これにより、複数の変数を一度に初期化できます。これらの変数は、プログラム内で後から、またはユーザー入力を通じて再割り当てできます。

複数の代入により、変数 + x ++ y +、および `+ z `を整数 ` 0 +`の値に設定できます。

x = y = z = 0
print(x)
print(y)
print(z)
Output0
0
0

この例では、3つすべての変数( + x ++ y +、および + z +)が同じメモリ位置に割り当てられています。 これらはそれぞれ値0に等しくなります。

Pythonでは、同じ行内の複数の変数に複数の値を割り当てることもできます。 これらの各値は、異なるデータ型にすることができます。

j, k, l = "shark", 2.05, 15
print(j)
print(k)
print(l)
Outputshark
2.05
15

上記の例では、変数 `+ j `が文字列 `” shark “`に割り当てられ、変数 ` k `がフロート ` 2.05 `に割り当てられ、変数 ` l `が割り当てられました。整数 ` 15 +`に。

複数の変数を1行の複数の値に割り当てるこのアプローチにより、コードの行を抑えることができますが、少ないコード行で読みやすさを犠牲にしないようにしてください。

グローバル変数とローカル変数

プログラム内で変数を使用するときは、*変数のスコープ*に留意することが重要です。 変数のスコープは、特定のプログラムのコード内でアクセス可能な特定の場所を指します。 つまり、特定のプログラムのすべての部分からすべての変数にアクセスできるわけではありません。一部の変数はグローバルになり、一部はローカルになります。

*グローバル変数*はhttps://www.digitalocean.com/community/tutorials/how-to-define-functions-in-python-3[functions]の外部に存在します。 *ローカル変数*は関数内に存在します。

実際のグローバル変数とローカル変数を見てみましょう。

#Create a global variable, outside of a function
glb_var = "global"

#Define a function
def var_function():
   lcl_var = "local" #Create a local variable, inside function
   print(lcl_var)

#Call function to print local variable
var_function()

#Print global variable outside function
print(glb_var)
Outputlocal
global

上記のプログラムは、関数の外部にグローバル変数 `+ glb_var `を割り当て、関数 ` var_function()`を定義します。 関数の内部では、 ` lcl_var `というローカル変数が割り当てられ、出力されます。 プログラムは、 ` var_function()`を呼び出してから ` glb_var +`を出力することで終了します。

`+ glb_var `はグローバル変数であるため、 ` var_function()+`で参照できます。 上記の小さなプログラムを変更して、それを行いましょう。

glb_var = "global"

def var_function():
   lcl_var = "local"
   print(lcl_var)
   print(glb_var) #Print glb_var within function

var_function()
print(glb_var)
Outputlocal
global
global

グローバル変数 `+ glb_var +`は、関数と関数の両方の両方で出力されるため、2回出力されます。

関数の外部でローカル変数を呼び出そうとした場合はどうなりますか?

glb_var = "global"

def var_function():
   lcl_var = "local"
   print(lcl_var)

print(lcl_var)
OutputNameError: name 'lcl_var' is not defined

割り当てられている関数の外部でローカル変数を使用することはできません。 そうしようとすると、代わりに `+ NameError +`が返されます。

グローバル変数とローカル変数に同じ変数名を使用する別の例を見てみましょう。

num1 = 5 #Global variable

def my_function():
   num1 = 10 #Use the same variable name num1
   num2 = 7 #Assign local variable

   print(num1) #Print local variable num1
   print(num2) #Print local variable num2

#Call my_function()
my_function()

#Print global variable num1
print(num1)
Output10
7
5

`+ num1 `のローカル変数は関数内でローカルに割り当てられるため、その関数を呼び出すと、 ` num1 `が ` 10 `のローカル値に等しいと見なされます。 ` my_function()`を呼び出した後、 ` num1 `のグローバル値を出力すると、グローバル変数 ` num1 `がまだ ` 5 +`の値に等しいことがわかります。

Pythonの `+ global`ステートメントを使用して、関数内でグローバル変数を割り当てることができます。

def new_shark():
   #Assign variable as global
   global shark
   shark = "Sammy"

#Call new_shark() function
new_shark()

#Print global variable shark
print(shark)

変数「+ shark 」は「 new_shark()」関数内でローカルに割り当てられましたが、関数内で変数を割り当てる前に「 global 」ステートメントが使用されるため、関数の外部からアクセスできます。 その ` global `ステートメントにより、関数の外で ` print(shark)+`を呼び出してもエラーは発生しません。 関数内でグローバル変数を_can_割り当てますが、おそらくこれを頻繁に行う必要はなく、読み取り可能なコードの側でエラーが発生するはずです。

他に留意すべきことは、関数内で変数に値を割り当てずに参照すると、その変数は暗黙的にグローバルになるということです。 ローカル変数を持つためには、関数の本体内で値を割り当てる必要があります。

変数を使用する場合、グローバル変数またはローカル変数を使用する方が適切かどうかを判断することが重要です。 通常は変数をローカルに保持するのが最善ですが、複数の関数で同じ変数を使用している場合は、グローバル変数を初期化することができます。 1つの関数または1つのhttps://www.digitalocean.com/community/tutorials/how-to-construct-classes-and-define-objects-in-python-3[class]内でのみ変数を使用している場合、代わりにローカル変数を使用することをお勧めします。

結論

このチュートリアルでは、Python 3内の変数の一般的な使用例をいくつか紹介しました。 変数はプログラミングの重要な構成要素であり、https://www.digitalocean.com/community/tutorials/understanding-data-types-in-python-3 [データタイプ]の値を表すシンボルとして機能します。プログラムで使用しています。