データ型(基本)
プログラㇺで扱う値には数値や文字列があります。ここではPythonで使う代表的なデータ型について紹介します。代表的なデータ型を下表に記載しました。
型 | 型名(日本語表記) | 値の例 |
int | 整数型 | -1, 0, 1, 2 ,10, 100 |
float | 浮動小数点型 | 小数点を含む数 -0.12, 0.0, 0.5, 23.4 |
str | 文字列型 | ‘hello’, ‘こんにちは’ |
bool | 真偽値型 | True, False |
文字列(str型)の扱い
コンピュータで扱う多くのデータが文字列で表されています。日頃スマートフォンやパソコンで見ているWebページやSNSのメッセージは文字列の集まりです。文字列の扱いを習得することは、プログラミングの中で重要な位置を占めます。ここではその文字列の扱いについてみていきます。
文字列の連結
文字列同士を+演算子で連結し、新しい文字列をつくることができます。
1 2 3 4 |
last_name = '山田' first_name = '太郎' name = last_name + first_name print(name) |
出力結果:山田太郎
文字列と整数の間に*演算子を使用すると、次のように数字で指定した回数だけ文字列を繰り返し連結できます。
1 2 |
message = 'Hello.' * 5 print(massage) |
出力結果:Hello.Hello.Hello.Hello.Hello.
数値からstr型への変換
+演算子で連結できるのは文字列同士だけで、数値を文字列と連結することはできません。これに対処するためには次のように数値を文字列に変換した後で他の文字列と連結します。
str(数値) |
1 2 |
year = 2023 print( str(year) + '年' ) |
出力結果:2023年
変数の値の埋め込み(フォーマット文字列)
文字列の中の特定の場所に変数の値を埋め込みたいことが良くあります。
その場合は、次のようにします。
1 2 |
price = 500 print('この商品は' + str(price) + '円です。') |
出力結果:この商品は500円です。
また、上記の表記はフォーマット文字列と呼ばれる文字列を使うことで下記のようにもっと簡単に記載することができます。フォーマット文字列は{変数または式}を複数埋め込むこともできます。
1 2 3 |
price = 500 num = 5 print(f'この商品は{price}円です。{num}個で{num*price}円です。') |
出力結果:この商品は550円です。5個で2500円です。
str型から数値への変換
実際のプログラムでは、数値が文字列で与えられることが多くあります。そのような場合、数値を使った計算を行う前に、文字列をint型またはfloat型に変換する必要があります。
文字列をint型、float型に変換するにはそれぞれ次のようにint関数,float関数を使用します。
int(文字列) |
float(文字列) |
1 2 3 |
a = '123' b = '12.3' print(int(a), float(b)) |
出力結果:123 12.3
文字列の長さの取得
文字列の長さ(文字列に含まれる文字の数)をlen関数を使用して取得できます。
len(文字列) |
1 2 |
str1 = 'hello' print( '文字列の長さ=', len(str1) ) |
出力結果:文字列の長さ= 5
str型のメソッドを使った操作
str型には文字列に対する操作を行うことができる機能(メソッド)が定義されています。ここではこの機能(メソッド)を使った文字列の操作をみていきたいと思います。
・小文字への変換(lowerメソッド)
1 |
print( 'PYTHON'.lower() ) |
出力結果:python
・大文字への変換(upperメソッド)
1 |
print( 'python'.upper() ) |
出力結果:PYTHON
・検索(findメソッド)
1 |
print( 'Pythonの文字列操作を学ぶ'.find('on') ) |
出力結果:4 ←先頭を0として何番目の位置に’on’があるかを示しています
(補足)検索する文字列が含まれていない場合は -1 が出力されます。
・分割処理(splitメソッド)
1 |
print( '2022-12-26'.split('-') ) |
出力結果:[‘2022′, ’12’, ’26’]
・置換処置(replaceメソッド)
1 |
print( 'Pythonの文字列操作を学ぶ'.replace('学ぶ','マスターする') ) |
出力結果:Pythonの文字列操作をマスターする
・その他のメソッド
strクラスにはここで紹介した以外にもたくさんのメソッドが定義されています。
その他のメソッドについては、下記リンクのPython標準ライブラリのドキュメントページから確認してみましょう。(Python標準ライブラリ->組み込み型->テキストシーケンス型->文字列メソッド)
https://docs.python.org/ja/3/library/
複数の要素を格納できるデータ型
pythonでは複数の要素を格納できるデータ型も用意されています。
以下に複数の要素を格納できる代表的なデータ型を紹介します。
List型
list型は複数の要素を格納できるデータ型で、要素の値の変更や追加および削除をすることができます。
scores = [50, 55, 70, 65, 80] |
tuple型
tuple型は後から要素の値の変更や追加および削除ができないリストです。リストと比べるとできることが限られますが、後から変更しない複数の要素を扱う場合に使用します。
week = (‘Mon’, ‘Tue’, ‘Wed’, ‘Thu’, ‘Fri’, ‘Sat’, ‘Sun’) |
dict型
dict型は複数の要素を格納できますが、キーワードとその値がペアになっていて、キーワードから値を調べることができます。キーワードと値のペアをコロン(:)で挟んで記述します。
info = {‘firstname’:’太郎, ‘lastname’:’山田’, ‘addres’:’茨城県つくば市’} |
set型
set型は複数の要素を格納できる点でリストに似ていますが「要素の重複を許さない」「順序がない」という特徴を持ちます。
chars = {‘A’,’B’,’C’,’D’,’E’} |
各データ型の性質
代表的なPythonのデータ型の性質を紹介します。
・pythonの型にはインスタンスのIDを保ったまま値を変更できる型と変更できない型があります。
・pythonの型にはfor文で使用できる反復可能な型と反復できない型があります。
・pythonの型には順序がありindexで容易にアクセスできるものと順序がない型があります。
本ページで紹介した基本的のデータ型の性質を下表に記載しました。
変更可能 (ミュータブル) | 反復可能 (イテラブル) | 順序を持つ (シーケンス型) | ||
int,float,bool | 数値,真偽値 | × | × | × |
str | 文字列 | × | 〇 | 〇 |
list | リスト | 〇 | 〇 | 〇 |
tuple | タプル | × | 〇 | 〇 |
dict | 辞書 | 〇 | 〇 | × |
set | セット | 〇 | 〇 | × |
コメント