Pythonで整数を扱いたい場合、
変数がint型かどうか確認したい
といった疑問がでてくると思います。そこで今回はPythonにおけるint型オブジェクトやint関数を紹介したいと思います。この記事では
- int型オブジェクトとは
- int関数とは
などといった基本的な内容を、具体的なサンプルコードを交えてしっかり解説していきます。
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
int型オブジェクトとは
みなさんはint型オブジェクトが何か知っていますか?int型は、整数を値として格納する変数のタイプです。
mynum = 1234
mynum変数の値として整数1234を設定しました。Pythonは他のプログラミング言語のように「int mynum = 1234」のように型宣言を記述する必要はありません。宣言した変数に整数を指定すれば、int型と認識されます。
1.0のように小数点を入れると別の型(float型)になるので注意です。実際、以下のように確認を行うことができます。
print(type(mynum))
出力結果は以下の通りです。
<type 'int'>
上のコードでは、type関数を使用して変数の型を調べてみました。一般的にはint型(※「integer=整数」から)と言われていますが、整数型とも呼びます。
int関数とは
先ほどは「int型オブジェクト」についてお話しました。では、「int関数」が何か知っていますか?int関数は、文字列や小数点以下の値を含む数値などを整数に変換するための関数です。
基本的な構文は以下の通りです。
int(変換したいオブジェクト)
int関数の引数に、int型に変換したいオブジェクトを指定するのみです。戻り値には、int型に変換されたオブジェクトが返されます。
これ以外にも何か別の型(クラス)に変換するには、そのクラス名の関数に変数を渡してあげればOKです。クラスについては以下の記事で詳しく解説しています。
この記事を読めばわかるのですが、int(変数)で呼び出されるのはint型のコンストラクタを担う関数です。
int関数の使い方
ここではint関数を使用して、
- 文字列をint型に変換
- float型をint型に変換
などについて解説していきます。
文字列をint型に変換する方法
では実際にint関数を使用してみましょう。以下のコードをご覧ください。
mystr = "1234" print(type(mystr)) mynum = int(mystr) print(type(mynum))
出力結果は以下の通りです。
<type 'str'> <type 'int'>
上のコードでは、mystrという文字列型オブジェクトをint型に変換してみました。実際、変換前のmystrの型は文字列型と判別されました。int関数の文字列を格納したmynum変数の型は、int型と正しく表示されました。
しかし、どんな文字列にもint関数の引数に指定しても良いというわけではありません。以下のコードをご覧ください。
mystr = "hello" print(int(mystr))
出力結果は以下の通りです。
Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'hello'
上記のコードの場合、変換しようとした文字列は数字ではなく文字で構成されています。その為、エラーが出現するので十分注意してくださいね。
float型をint型に変換する方法
では、float型をint型に変換してみましょう。構文は文字列型の時とまったく同じです。以下のコードをご覧ください。
myflt = 0.1234 print(myflt) print(type(myflt)) mynum = int(myflt) print(mynum) print(type(mynum))
出力結果は以下の通りです。
0.1234 <class 'float'> 0 <class 'int'>
上のコードでは、浮動小数点型(float型)の変数myfltをint型に変換してみました。実際、変換前と変換後の型が変わったのが確認できますね。
まとめ
今回はPythonのintについて、
- int型オブジェクトとは
- int関数とは
についてそれぞれ使い方を解説しました。基本的な概念なので、しっかり頭に入れておくと様々なシチュエーションにて使えるので便利です。みなさんもこの記事を通して、Pythonへの知識を深めていってくださいね。