データ型とは
Pythonのプログラムで扱うデータには数値の「123」や文字列の「”abcde”」などのようにいろいろなものがあります。
それらを分類したものが「データ型」です。
データ型にはいくつか分類がありますが、代表的なものは「文字列型(str型)」「整数型(int型)」の2つです。この2つは頻繁に利用します。
他にも小数点の数値を扱う「浮動小数点数型(float型)」や真偽(true or false?)を扱う「真偽型(bool型)」や、データを扱いやすくするために用意された「辞書型」「セット型」「リスト型」「タプル型」などがあります。
なお、「数値型」という言い方をする場合は「整数型(int型)」と「浮動小数点数型(float型)」の2つの両方を指し、なんらかの数値を扱う型としての表現をします。
どのようなデータもPythonのプログラムでは何かしらのデータ型として扱うことになります。
全てのデータ型を知らなくてもPythonのプログラムを書くことは可能です。まずは分かりやすい文字列型と整数型から扱うことをお勧めします。
データ型の変換
データ型は他の型に変換することができます。
よく使われるのが数値型を文字列型に変換したり、逆に、文字列型を数値型に変換したりするものです。
データ型ごとの機能の違い
データ型には各データ型それぞれで扱える機能があり、データ型ごとにその機能は異なります。
ここでは代表的なデータ型の「整数型(int型)」と「文字列型(str型)」の機能を使って、その特性を紹介します。
数値や文字列の足し算
数値型で足し算の「+」を使えば足し算になり、文字列型で使えば文字列の連結になります。以下は数字の1と2の足し算と、文字列の’1’と’2’をそれぞれ「+」を使った場合のコードです。
1 2 3 4 |
# 数字の1 + 2→3 print(1 + 2) # 文字列の'1'と'2'の連結→'12' print('1' + '2') |
実行すると、以下のように普通の足し算と文字列の連結になります。
1 2 |
3 12 |
数値や文字列の引き算
上の「+」と同様に「-」を使った場合は、数値の場合は引き算になりますが、文字列の場合の「-」は残念ながら「消したい文字列の削除」とはならずエラーになります。
実際にコードを書いてみます。
1 2 |
# 数字の1 - 2 print(1 - 2) |
数値の引き算は以下のようにちゃんと計算されます。
1 |
-1 |
次の文字列で「-」を書いてみます。
1 2 |
# 文字列の'10'から'0'の削除? print('10' - '0') |
しかし、文字列の引き算はエラーになります。
1 2 |
例外が発生しました: TypeError unsupported operand type(s) for -: 'str' and 'str' |
このように、データ型が数値であれば「+」「-」の両方が使えますが、文字列型であれば「+」は文字列の連結として使えますが「-」は使えなかったりと、データ型によって行える機能が異なります。
数値と文字列の掛け算
また、データ型が異なるもの同士で扱える機能もあります。
数値と文字列の「+」や「-」はエラーになりますが、「*」(掛け算)は、文字列の指定回数繰り返しとして動作します。数値*文字列、文字列*数値のどちらの書き方も有効です。
1 2 |
print('abc ' * 3) print(3 * 'cde ') |
実行すると以下のように出力されます。
1 2 |
abc abc abc cde cde cde |
データ型ごとに機能が異なる
上の例のように、「+」「-」「*」が使えたり使えなかったりと、データ型によって利用できる機能が異なります。
ここでは整数型と文字列型を例にしましたが、他のデータ型も同様に利用できる機能が異なってきます。
一度にすべてのデータ型の特性を覚えるのは大変なため、実際に使う場面になったときにそのデータ型が持つ機能を確認するようにすればOKです。
次にやること
次のページでは、文字列型について紹介します。
次ページ:Pythonの文字列型の基本
前ページ:Pythonの定数