どんなプログラミング言語を学ぶ時も必ず出てくるのが変数の宣言方法についてです。
メジャーなものからマイナーなものまで、どんな言語でも基本的には変数を宣言して、そこにプログラム内で使用するデータを退避しておくことができるようになっています。Pythonの場合も例外ではなく、変数宣言をしてデータを保持しながら処理を行なっていくことになります。
Pythonの場合の変数の宣言方法は以下のような形になります。
animal = "dog"
count = 1
Pythonは動的型付け言語
変数の宣言方法として『静的型付け言語』と『動的型付け言語』の2つに大きく分けられるのですが、Pythonは後者の動的型付け言語に属するプログラミング言語です。
この2つは何かというと、変数を宣言する時に、どんなデータを入れる変数なのかを明示的に指定するかしないかが言語によって異なります。静的型付け言語の場合は、変数宣言時に、その変数に文字列を入れるのか数値を入れるのか等を指定し、動的型付け言語の場合は値を入れる時にPython側でデータを見て型を指定してくれる形になります。
そのため、上記のような形で、変数宣言のときには特に型の指定はせず、値を代入する文だけを書けば良いわけです。
このような形で文字列を代入して変数を宣言すると、その変数は文字列型になりますし、
animal = "dog"
以下のように数値を代入すると数値型になるということです。
count = 1
変数の型を簡単に確認する方法
宣言した変数がどんな型なのかを確認する方法としてPython標準のtype関数を使用する方法があります。
例えば、以下のようにprint関数を使ってコンソールに出力するとすぐに確認することができます。
animal = "dog"
print(type(animal))
Pythonの変数宣言における制約事項
予約語は使えない
IFやNOTなど言語に命令として定義されているものについては変数として命名することができません。
先頭に数字を持ってくるのはNG
変数名には英数字と_(アンダースコア)が使用できるのですが、変数名を数字から始めるのはNGになっています。数字から始まる変数を定義するとシンタックスエラー(構文エラー)が発生することになります。
ちなみにアンダースコアから始めるのは問題ありません。
値の代入なしに変数宣言のみはできない
他の言語の場合、変数の宣言だけを先に行なって、値の代入は後から行うということもできるケースも多いのですが、Pythonの場合はそれができません。
変数を宣言するときには、セットとして値の代入が必要となります。