インターネット利用が一般化した現代では、パソコンを持っていれば誰でもプログラミングができる時代になりましたよね。プログラミングに使用する言語は、200種以上あると言われています。
そんな数あるプログラミング言語の中でも、多くの初心者にプログラミング学習で選ばれているのがPython。Pythonが初心者に選ばれる理由は、プログラミングのルールが少なく、1つの処理を比較的短いコードで書けることなどの学びやすさです。
しかし、学びやすいといっても慣れないうちは、さまざまな間違いをしますよね。中でも初心者が間違いやすいケースの1つが、変数の型変換です。
Pythonのプログラミングで変数の型変換は、よく使用する方法なので初心者は必ず習得しておきましょう。ということで今回は、Pythonの変数の型変換をする方法についてお伝えします。
型変換とは
Pythonの型変換とは、Pythonのプログラムで使用するデータ型を種類の異なるデータ型に変換することです。
プログラムでは、1, 2, 3などの数値と文字は区別します。ルールとして数値をプログラムで表記する場合は、そのまま1 2 3・・・と書き、文字や文章はシングルクォーテーション(’)もしくはダブルクォーテーション(”)で囲みます。
文字 → “Hello world”
そして、これらのデータ型は扱いやすくするために変数に代入してプログラミングをします。変数とは、データを入れておく箱のような存在です。
12345678910のような桁数の多い数値を使う場合、そのままだとプログラムが長くなるので扱いづらいですよね。そこで便利なのが、変数。
上記のように変数aに代入すると、aという記述だけでこの長い数値を表現できます。このように変数はデータを扱ううえで便利なので、Pythonのプログラミングでも多用されています。
例えば、次のような使い方があります。
例1
a = 2
b = 3
c = a + b
print(c)
実行結果 → 5例2
e = “こんにちは、お元気ですか。”
print(e)
実行結果 → こんにちは、お元気ですか。
print()とは、プログラムの実行結果をコンピュータの画面に表示する関数と呼ばれる機能です。print()関数を使って例1では、変数cだけで2 + 3の計算結果を出力でき、例2は変数eで文章表現を可能にしています。
2つの例は、それぞれ同じデータ型同士なので、正常にプログラムが実行できていますが、もし数値と文字列を一緒に扱う場合は、型変換をしないとエラーになります。
では実際に、Pythonでどのような場合に型変換が必要なのかを次で紹介しましょう。
型変換の種類
Pythonの型変換についてお伝えする前に、データ型の種類を紹介します。Pythonの主なデータ型は次の通りです。
- str型・・・文字列(例:” Python”)
- int型・・・整数 、小数点を含まない数値(例:1, 2, 3)
- float型・・・浮動小数点、小数点を含む数値(例:5.24)
- bool型・・・真偽値、True(真値)かFalse(偽値)で表す
- datetime型・・・日付(例:2021, 09,11)
- list 型・・・複数の要素(文字列、数値、整数、真偽値など)を[ ] で格納し、要素間はカンマ’,’で区切る(例:[“Hello world”, 123, True])
- tuple型・・・複数の要素(文字列、数値、整数、真偽値など)を() で格納し、要素間はカンマ’,’で区切る(例:(“Hello world”, 123, False))
- dict型・・・複数の要素(文字列、数値、整数、真偽値など)を{ }で格納し、キーの後にコロン’:’を挟み要素を記述してカンマ’,’で区切る(例:{“a” : “Hello world”, “b” : 123, “c” : True }
以上がPythonの主なデータ型です。このようにデータ型で分けている理由は、計算や文字情報の表示、リストなどでデータをまとめて扱いたい場合など、それぞれの目的で使いやすくするためです。
しかし、異なるデータ型同士を組み合わせてプログラムを組むことも多くあります。その場合に必要になるのが型変換で、よくPythonで行うのは次のケースです。
- 整数(int型)と文字列(str型)の間での変換
- 浮動小数点(float型)と文字列(str型)の間での変換
上記の2パターンが、Pythonで多い型変換です。では次に、これらの型変換がどのようなときに必要なのかを紹介します。
型変換は、こんな時に使う
Pythonで型変換が必要になることが多いのは、文字列の中に数値を組み合わせる場合です。これについて、次の計算プログラムを例に説明します。
b = 3.5
c = a + b
print(c)
実行結果 → 5.5
では、上の変数をそのまま使って、計算結果を「2 + 3.5の答えは5.5です。」と、文字列にして表示するプログラムを作ってみます。
単純に考えると「a + bの答えはcです。」をダブルクォーテーションで囲んで実行すれば、「2 + 3.5の答えは5.5です。」になりそうですよね。しかし、このプログラムでは文字列として、そのまま「a + bの答えはcです。」と表示されるだけです。
そして、「2 + 3.5の答えは5.5です。」と出力するためには、このプログラムに型変換の修正をする必要があります。では、Pythonの型変換の方法について紹介しましょう。
実際にPythonで型変換を行う方法
すでにお伝えしたPythonで多い型変換のパターンは次の2つです。
- 整数(int型)と文字列(str型)の間での変換
- 浮動小数点(float型)と文字列(str型)の間での変換
そして、それぞれの型変換の方法は次の通りです。
print(int (a))
実行結果 → 2
文字列(str型)から浮動小数点(float型)への型変換は、float()関数を利用する
a = “3.5”
print(float (a))
実行結果 → 3.5
ではここで、前章の例を使用して、整数(int型)と浮動小数点(float型)から文字列(str型)への型変換をします。
a = 2
b = 3.5
c = a + b
print(“a + bの答えはcです。”)
実行結果 → a + bの答えはcです。
a = 2
b = 3.5
c = a + b
print(str(a) + “+” + str(b) + “の答えは” + str(c) + “です。”)
実行結果 → 2 + 3.5の答えは5.5です。
修正後では、str()関数をa、b、cの変数に用いて文字列に型変換しました。print()関数内では、6つの文字列を+記号で結合させるので、修正前と比べて複雑なコードになっていますが、これで目的の「2 + 3.5の答えは5.5です。」を出力できました。
以上がPythonでよく使う型変換です。では、最後にPythonで型変換を行う際のポイントを紹介します。
Pythonで型変換を行う際のポイント
初心者がPythonで型変換を行う際のポイントは、データ型を意識してプログラミングをすることです。初心者のうちはデータ型を間違えて、エラーが出てしまうケースが多いです。
例えば、最初に「a = 2」とし、変数aを使ってプログラムを何行も書いていくうちに、途中で文字列に変換しなければいけないところで忘れてしまい、整数のままの変数aでプログラムを書いてしまうこともあります。
そのため先ほどの例でも、次のように型変換を忘れてしまうこともありえます。
b = 3.5
c = a + b
print(a + “+” + b + “の答えは” + c + “です。”)
数値と文字列は、そのまま結合できないので実行すると次のようにエラーになります。
File “<pyshell#13>”, line 1, in
print(a + “+” + b + “の答えは” + c + “です。”)
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
慣れないうちは、このように間違うことが多くあります。
そこで、データ型を確認するために使ってもらいたいのが、type()関数です。次のようにtype()関数を使うとデータ型が確認できます。
b = 3.5
c = “a + b” 実行結果
print(type(a)) → # 整数
print(type(b)) → # 浮動小数点
print(type(c)) → # 文字列
type()関数はデータ型を確認できる便利な機能で、データ型の間違いを防ぐことができます。初心者はtype()関数をうまく使いながら、データ型を意識してPythonでプログラミングをしましょう。
さて今回は、Pythonの型変換についてお伝えしました。Pythonの型変換は、データ型を種類の違うデータ型に変えることです。そのデータ型には、次のような種類があります。
- str型・・・文字列(例:” Python”)
- int型・・・整数 (例:1, 2, 3)
- float型・・・浮動小数点(例:5.24)
- bool型・・・真偽値、True(真値)かFalse(偽値)
- datetime型・・・日付(例:2021, 09,11)
- list 型・・・文字列、数値、整数、真偽値などを[ ] で格納(例:[“Hello world”, 123, True])
- tuple型・・・文字列、数値、整数、真偽値などを() で格納(例:(“Hello world”, 123, False))
- dict型・・・文字列、数値、整数、真偽値などを{ }で格納(例:{“a” : “Hello world”, “b” : 123, “c” : True }
主なPythonのデータ型は上記の8つで、その中で多い型変換は次のケースです。
- 整数(int型)と文字列(str型)の間での変換
- 浮動小数点(float型)と文字列(str型)の間での変換
そして、実際に型変換は次の関数を使って行います。
- 文字列(str型)から整数(int型)への型変換は、int()関数を使う
- 文字列(str型)から浮動小数点(float型)への型変換は、float()関数を使う
- 整数(int型)と浮動小数点(float型)から文字列(str型)への型変換は、str()関数を使う
Pythonのプログラミングに慣れていない初心者は、型変換を忘れがちです。型変換は、Pythonで必ず習得しなければならないプログラミングです。
ただし、それほど難しい技術ではありません。そこで、紹介したデータ型を確認できるtype()関数をうまく使って、データ型を意識しながらプログラミングを行い、Pythonの型変換の方法をマスターしましょう。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。