Python3で変数を使用する方法
###序章
変数は、習得するための重要なプログラミング概念です。 これらは基本的に、プログラムで使用している値を表すシンボルです。
このチュートリアルでは、いくつかの変数の基本と、作成するPython3プログラム内でそれらを最適に使用する方法について説明します。
##前提条件Python3がインストールされ、コンピューターまたはサーバーにプログラミング環境がセットアップされている必要があります。 プログラミング環境をセットアップしていない場合は、ローカルプログラミング環境またはサーバー上のプログラミング環境のインストールおよびセットアップガイドを参照して、オペレーティングに適したものにすることができます。システム(Ubuntu、CentOS、Debianなど)
##変数を理解する
技術用語では、変数は、シンボリック名または識別子に関連付けられた値に保管場所を割り当てています。 変数名は、コンピュータープログラム内に保存されている値を参照するために使用されます。
変数は、名前が付いたラベルと考えることができ、値に結び付けます。
整数103204934813
があり、長い数値を何度も何度も再入力するのではなく、変数に格納したいとします。 代わりに、変数my_int
のような覚えやすいものを使用しましょう。
情報:このチュートリアルのサンプルコードに従うには、python3
コマンドを実行して、ローカルシステムでPythonインタラクティブシェルを開きます。 次に、>>>
プロンプトの後に例を追加して、例をコピー、貼り付け、または編集できます。
my_int = 103204934813
値に関連付けられているラベルのように考えると、次のようになります。
ラベルには変数名my_int
が記述されており、整数値103204934813
に関連付けられています。
my_int = 103204934813
というフレーズは、割り当てステートメントであり、いくつかの部分で構成されています。
- 変数名(
my_int
) - 代入演算子、等号とも呼ばれます(
=
) - 変数名に関連付けられている値(
103204934813
)
これらの3つの部分が合わさって、変数my_int
を整数103204934813
の値に等しく設定するステートメントを構成します。
変数を値に設定するとすぐに、初期化するか、その変数を作成します。 それが完了すると、値の代わりに変数を使用するように設定されます。 Pythonでは、一部のプログラミング言語のように、変数を使用する前に明示的に宣言する必要はありません。 すぐに変数の使用を開始できます。
my_int
を103204934813
の値と等しく設定するとすぐに、整数の代わりにmy_int
を使用できるので、印刷してみましょう。
print(my_int)
Output103204934813
変数を使用すると、mathをすばやく簡単に実行できます。 my_int = 103204934813
を使用して、整数値813を減算してみましょう。
print(my_int - 813)
Output103204934000
この例では、Pythonが計算を行い、変数my_int
から813を減算して、合計103204934000
を返します。
数学と言えば、変数は数学の方程式の結果と等しく設定できます。 2つの数値を足し合わせて、その合計の値を変数x
に格納しましょう。
x = 76 + 145
上記の例は、すでにおなじみの代数のように見えるかもしれません。 代数では、変数がデータ型の値を表す記号名であるのと同じように、数式や方程式内の数値や数量を表すために文字やその他の記号が使用されます。 正しいPython構文を得るには、変数が方程式の左側にあることを確認する必要があります。
先に進んでx
を印刷しましょう:
print(x)
Output221
変数x
が76
と145
の合計に等しく設定されたため、Pythonは値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はその変数と同等のものを返します。 たとえば、上記のlistデータ型の代入ステートメントを使用してみましょう。
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語のみにする必要があります(スペースなしなど)
- 変数名は、文字、数字、およびアンダースコアのみで構成する必要があります(
_
) - 変数名を数字で始めることはできません
上記のルールに従って、有効な変数名と無効な変数名の両方を確認しましょう。
有効 | 無効 | なぜ無効なのか |
---|---|---|
my_int | my-int | ハイフンは許可されていません |
int4 | 4int | 数字で始めることはできません |
MY_INT | $ MY_INT | _ 以外の記号は使用できません |
another_int | 別のint | 複数の単語にすることはできません |
変数に名前を付けるときに注意すべき他の点は、大文字と小文字が区別されることです。つまり、my_int
、MY_INT
、My_Int
、およびmY_iNt
はすべてです。完全に異なる変数。 プログラム内で同様の変数名を使用することは避けて、現在および将来の共同作業者の両方が変数をまっすぐに保つことができるようにする必要があります。
最後に、スタイルに関するいくつかのメモ。 従来、変数に名前を付けるときは、小文字で始め、単語を区切るときにアンダースコアを使用するのが通例です。 大文字で始めることは無効ではなく、変数を書くときにキャメルケースまたは大文字と小文字の混合を好む人もいますが、これらはあまり一般的ではありません。
従来のスタイル | 型破りなスタイル | なぜ型破りなのか |
---|---|---|
my_int | myInt | 従来型ではないキャメルケース |
int4 | Int4 | 従来型ではない大文字の最初の文字 |
my_first_string | myFirstString | 従来型ではないキャメルケース |
あなたがすることができる最も重要なスタイルの選択は一貫していることです。 変数名にキャメルケースを使用している既存のプロジェクトで作業を開始する場合は、既存のスタイルを引き続き使用することをお勧めします。
PEP 8 は、公式のPythonコードスタイルガイドであり、Pythonに関する多くの文体の質問に対応しています。 一般に、読みやすさと一貫性は、他の文体の懸念よりも優先されます。
##変数の再割り当て
variable という言葉が示すように、Python変数は簡単に変更できます。 これは、再割り当てによって、以前に割り当てられた変数に別の値を非常に簡単に接続できることを意味します。
プログラムの過程全体で、ユーザーが生成した値をすでに初期化された変数に受け入れる必要がある場合や、割り当てを以前に定義したものに変更する必要がある場合があるため、再割り当てできると便利です。
変数を簡単かつ簡単に再割り当てできることを知っていると、他の誰かによって開始された大規模なプログラムで作業している可能性があり、すでに定義されているものがまだ明確でない場合にも役立ちます。
最初にx
を整数として割り当て、次に文字列として再割り当てしましょう。
#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行の複数の値に複数の変数を割り当てるこのアプローチでは、コードの行を抑えることができますが、コードの行数を減らしても読みやすさを損なうことはありません。
##グローバル変数とローカル変数
プログラム内で変数を使用する場合は、変数スコープを念頭に置くことが重要です。 変数のスコープは、特定のプログラムのコード内でアクセス可能な特定の場所を指します。 つまり、特定のプログラムのすべての部分からすべての変数にアクセスできるわけではありません。一部の変数はグローバルになり、一部はローカルになります。
グローバル変数は関数の外部に存在します。 ローカル変数は関数内に存在します。
実際のグローバル変数とローカル変数を見てみましょう。
#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)
OutputSammy
変数shark
はnew_shark()
関数内でローカルに割り当てられましたが、関数内で変数を割り当てる前にglobal
ステートメントが使用されているため、関数外からアクセスできます。 。 そのglobal
ステートメントのために、関数の外でprint(shark)
を呼び出しても、エラーは発生しません。 関数内でグローバル変数をできますできますが、これを頻繁に行う必要はない可能性があり、読み取り可能なコードの側でエラーが発生するはずです。
他に覚えておくべきことは、関数内で変数を参照し、その変数に値を割り当てない場合、その変数は暗黙的にグローバルであるということです。 ローカル変数を使用するには、関数の本体内でローカル変数に値を割り当てる必要があります。
変数を操作するときは、グローバル変数とローカル変数のどちらを使用するのが適切かを判断することが重要です。 通常、変数をローカルに保持するのが最善ですが、複数の関数で同じ変数を使用している場合は、グローバル変数を初期化することをお勧めします。 1つの関数または1つのクラス内でのみ変数を操作している場合は、代わりにローカル変数を使用することをお勧めします。
##結論
このチュートリアルでは、Python3内の変数の一般的な使用例をいくつか紹介しました。 変数はプログラミングの重要な構成要素であり、プログラムで使用しているデータ型の値を表すシンボルとして機能します。