2-2 型の確認・変換

2章 値と計算

型の確認・変換の方法を解説

 Pythonでは変数の型の宣言が必要ないこともあってか、変数の型がどうなっているのかしばしば気になることがあります。

実際、型を適切に把握していないと型を間違えることで起きるType Erorrがでてしまうこともあります。

そこで、今回はPythonの型の確認方法と変換方法について、使うときの注意点も含めて解説していきたいと思います。

型の確認

  Pythonではプログラム中の変数の型が適切でなくて、エラーになってしまうなんてことがよくあります。そこでこの節では、type関数を使った型の確認について紹介します。

実は型の確認については前回の記事でも触れていますが、復習としてもう一度丁寧に扱っていきます。

Pythonでは、数字や文字列はもちろんのこと変数についても型を調べるためのtype関数が用意されています。

type(数字,文字列or変数名)

かっこの中の数字、文字列、変数の型を戻り値として返す(表示機能なし)

表示機能なしとあるのは、type関数単体だけだと下の例ように実行結果には何も表示されないためです。 通常の環境だと以下のように結果は何も表示されません。 ただし、JupiterNotebookなどの一部の環境では、関数ではなく環境の機能としてtype()関数の結果を表示してくれます。

type(1)
"""
実行結果:
"""

正しい使い方は以下の通りです。

print(type(1))
"""
実行結果:<class 'int'>
"""
print(type("hello"))
"""
実行結果:<class 'str'>
"""
a=1.0
print(type(a))
"""
実行結果:<class 'float'>
"""

 今示したものは一例にすぎず、int型やfloat型などのよく使われる型以外のものでも、自分が型を知りたいとき変数などがあるときにtype関数を適用することができます。

ただ一点、先ほども書いたようにtype関数には表示機能がないため、例のようにprint関数と一緒に使う必要がある点は覚えておきましょう。

Type Erorrが出た場合の確認にも使えるので覚えておくといいかもしれませんね。

型の変換

 次は変数を特定の型に変更する方法について解説していきます。なぜわざわざ型を変換する処理があるのかというと、特定の型でないといけない場合があるためです。意外とよく使うのでこれを機会に基本的な使い方を覚えておきましょう。

int型にする

 変数をint型にするには以下の関数を使います。

int(数字,数字の文字列or変数名)

かっこの中の数字、数字の入った文字列、変数を整数型して戻り値として返す(小数点以下切り捨て)

int関数は、基本的に数字や数字が格納された変数を整数型にするためによく使われます。基本的な使い方を以下に示します。

a=1.1
print(int(a))
"""
実行結果:1
"""
a=int(1.9)
print(a)
"""
実行結果:1
"""

ここで注意すべきは、小数点は切り捨てであり四捨五入ではないという点です。四捨五入だと思って計算式を書くと狙った結果が得られないので注意しましょう。

 基本的な使い方のほかに、数字が書かれている文字列をint型にする使い方があります。下がその例です。

a=int("10")
print(a)
"""
実行結果:10
"""

この時、文字列の中の数字は整数でなくてはいけません。このようにVlueErorrになってしまいます。

a=int("1.1")
print(a)
"""
実行結果:ValueError
"""

 実はほかにもint関数の機能はあるのですが、よく使う部分は以上になります

float型にする

変数をfloat型にするには以下の関数を使います。

float(数字or変数名)

かっこの中の数字、変数を浮動小数型にして戻り値として返す

float関数についてもint関数同様、基本的に数字や数字が格納された変数を浮動小数点型にするためによく使われます。基本的な使い方を以下に示します。

a=1
print(float(a))
"""
実行結果:1.0
"""

たまに目にしますが、指数表記などもfloat型に変換できます。ちなみに下の「1.1e-3」は1.1×10^-3という意味になります。

a=float("1.1e-3")
print(a)
"""
実行結果:0.0011
"""

また数字の入った文字列についてもfloat関数を使うことができますが、使い方はint型と同様です。int型と違うのは文字列になっている数字の型についてはint型でもfloat型の両方で動作します。実際のコード例を示します。

a=float("1.1")
print(a)
"""
実行結果:1.1
"""
a=float("1")
print(a)
"""
実行結果:1.0
"""

文字列(str)型にする

変数を文字型にするには以下の関数を使います。

str(数字,文字列or変数名)

かっこの中の数字、文字列、変数を文字列型にして返す

関数のかっこの中にはほかの関数と同じように文字列型にしたいものを入れます。基本的な使い方の例は以下の通りです。

実行結果が少しわかりづらいですが、type関数を使って型を確認すると変換できていることが分かります

a=1
print(type(a))
print(str(a))
print(type(a))
"""
実行結果:<class 'int'>
         1
         <class 'str'>
"""
a=1.1
print(type(a))
print(str(a))
print(type(a))
"""
実行結果:<class 'float'>
          1
         <class 'str'>
"""

 ちなみに文字列で行っても とくに意味はないですがエラーにはなりません。

まとめ

いかがだったでしょうか。これで変数の型の確認や変換は行えるようになったはずです。TypeErorrなど型に関するエラーが出た場合は是非試してみてくださいね。

スポンサーリンク
2章 値と計算
図で分かるPython入門講座

コメント

タイトルとURLをコピーしました