全6877文字

変数の型

 冒頭で、Pythonでは変数の宣言に型の指定が必要ないと説明しました。しかしPythonにも、型の概念は存在します。主に使われる型は以下の通りです。

データの種類
int整数1、100
float小数点3.14、1.00
str文字列"a",、"1"、"おはよう"

 異なる型のデータを同じ変数で扱おうとすると、実行結果がおかしくなりますので注意が必要です。

 変数の型を調べるには、type関数を使います。type()を用いることで、()内の変数に格納されている値の型を知ることができます。

# 変数greeting に文字列「Hello!」を代入
greeting = "Hello!"
# 変数の型を出力(str型が出力される)
print (type(greeting))
# 変数heightに177を代入
height = 177  
# 変数の型を出力(int型が出力される)
print (type(height))
# 変数taxに1.08を代入
tax = 1.08
# 変数の型を出力(float型が出力される)
print (type(tax))

 実行結果は、次のようになります。

<class 'str'>
<class 'int'>
<class 'float'>

 なお、PythonでもCなどのように変数を明示的に宣言することもできます。この場合、「(変数名):(型)=(値)」と記述します。

# 変数stringに、"2"を代入
string:str = "2"
print(string, type(string)) 
# 変数numに、2を代入
num :int = 2
print(num, type(num))

 このプログラムの変数「string」と「num」にはどちらも「2」が代入されています。しかしstringには文字列の「2」、numには数字の「2」が入っています。

 このためprint関数で確認すると、次のように異なる型が出力されるのです。

2 <class 'str'>
2 <class 'int'>

変数の型を変更する

 変数の型は変更することも可能です。「(型名)((対象の変数))」と記述します。

 実例を見てみましょう。

# 変数string_5に、"5"を代入
string_5 = "5"
print(string_5, type(string_5))
# 変数string_5をInt型に変換し、変数num_5に代入
num_5 = int(string_5)
print(num_5, type(num_5))
# 変数num_5をFloat型に変換し、変数float_5に代入
float_5 = float(string_5)
print(float_5, type(float_5)) 

 実行結果は以下のようになります。文字列型、整数型、小数点型と変数の型が変換されたことが分かります。

5 <class 'str'>
5 <class 'int'>
5.0 <class 'float'>