【入門編】Pythonデータ型一覧と使い方【文字列/数値/配列/リストなど】

Python,プログラミング言語

Python icon by Icons8

この記事では「Pythonのデータ型の定義とルール」について解説します。

Python初心者

Pythonのデータ型の種類やルール、使い方が分からない。。

という方はご覧ください。

データ型を用いたプログラムを紹介。実際に動作を確認できる。

上記のようにPythonのデータ型を用いたプログラムをご紹介します。
実際にプログラムを実行し、データ型の動作を確認していきましょう。

この記事で学べること
・Pythonにおけるデータ型の特徴
・データ型の種類。シーケンス型と非シーケンス型の違い。
・Pythonのデータ型(int/float/bool/datetime/set/dict/str/list/tuple)の解説

ではどうぞ。

Pythonにおけるデータ型の特徴

Pythonは「動的型付け言語」と呼ばれるプログラム実行時に変数の型が定まる言語です。
そのため変数を宣言するときにデータ型を定義しません。

a = 3 * 3  #変数宣言時にデータ型を定義しない
b = "Hello World" #動的型付け言語

上記のように変数宣言時にはデータ型を指定せず、変数の周辺情報や文脈などから自動的に「型推論」されます。

一方他のプログラミング言語、C#やJavaは「静的型付け言語」と呼ばれ、プログラム作成時にデータ型を宣言する必要があります。

int a = 3;
double b = 3.3;
string c = "Hello World!";

プログラミング言語は上記C#のように、「静的型付け言語」であることが多いです。

(画像)

このようにPythonは「動的型付け言語」であるため、変数宣言時にデータ型を定義する必要がなく、気軽に変数を宣言できます。
しかし、その一方でデータ型を正しく理解していないと、自分がどのデータ型を扱っているのか判断ができず、メソッド呼び出しやプログラム実行時のエラーの原因となります

言わばエラーの温床。

エラーを発生させないために、Pythonでは特にデータ型を正しく理解する必要があります

Pythonにおけるデータ型の種類一覧

Pythonのデータ型を一覧で紹介します。
今回は分かりやすいように、非シーケンス型データとシーケンス型データの2つに分けて、Pythonのデータ型を紹介。

シーケンス型とはデータが順番に並べられた状態で保持されている状態のこと。
データが一列に並んでいるのか、データが並んでいないのか。

この違いを元にデータ型を紹介していきます。

Pythonの非シーケンス型データ

非シーケンス型のデータ型は下記の通りです。

データ型内容使用例
int
(整数)
小数点を含まない数値
四則演算時に使用。
intNum = 3
intNum = 3 + 7
float
(浮動小数点数)
小数点を含む数値
四則演算時に使用。
floatNum = 3.141
floatNum = 3.1*3.1
bool
(論理値)
正しいか正しくないか。
※TrueとFalseの2値のみ
boolFlg = True
boolFlg = False
datetime
(日付)
年月日時刻曜日を含む日時
日時を扱う時に使用。
date1 =
datetime.datetime(2023, 4, 29, 12, 36, 45)
※2023年4月29日12時36分45秒
set
(集合)
同じデータ型要素の集合
重複しない要素を扱う時に使用。
basket = {'apple’,’banana’,’grape’}
dict
(辞書)
一意のキーとそれに紐づく値
1対1に紐づくデータ同士を扱う時に使用。
tel = {'jack’ : 5573, 'sam’ : 8881}
非シーケンス型データ

表の説明から分かるように、データの並び順に意味はなく、データが順番に並んでいないのが、非シーケンス型データの特徴です。

Pythonのシーケンス型データ型

シーケンス型のデータ型は下記の通りです。

データ型内容使用例
str
(文字列)
文字列、文字
文章、単語を扱う時に使用。
moji = '文字列です。’
moji = “文章です。"
list
(配列)
同じデータを一列に並べた配列
連続するデータを扱う時に使用。
basketBallScore = [12,13,22,5]
baseBallScore = [1,1,0,0,0,0,1,5,0]
tuple
(構成組)
構成要素となる複数のデータを並べた配列。
複数の要素でデータを表現したい時に使用。
RGB = (230 , 120 ,0)
シーケンス型データ

表から読み取れるように、シーケンス型データは、データの並びに意味があるデータ型です。

以上がPythonでよく使用されるデータ型一覧です。
次章より詳しい使い方を実際の使用例を元に解説していきます。

非シーケンス型データの詳しい使い方

シーケンス型の使い方を具体例とともに紹介していきます。

尚紹介しているPythonのコードは、Google ColaboratoryというwebのPython実行環境で実行しています。
Pythonのコードの動作を実行して確認したい方は、こちらを参考にGoogle Colaboratoryを起動してください。

下記Google Colaboratoryのサイトです。
https://colab.research.google.com/?hl=ja

int型データの使い方

int型は整数の値を格納するデータ型です。
家族の人数や電話番号など「小数点が必ず発生しない数値を扱う」時に使用されます。

a = 3 * 3  #aの値は9
b = 17 // 3 #切り下げ除算を行う。解は5
c = 5 ** 2 #5の二乗。解は25
d = a + c #int型同士の演算。
print(a)
print(b)
print(c)
print(d)

int型データを使用する際は、整数の値を変数に代入しましょう。

int型データを用いたプログラムの実行例

int型データのポイント
・整数同士の演算であっても計算結果が小数点数になる場合、float型に変化する。
・int型の上限はなく、メモリの許す限りさらに大きな値を扱うことが可能(Python3以降)

float型データの使い方

float型は小数点数の値を格納するデータ型です。
小数値を含む計算や円周率の値の格納など小数点が発生する時に使用されます。

a = 3.14 #小数点数が格納される。
b = 3 / 4 #整数同士の計算はfloat型となる。intにはならない。
c = 4 * 3.14 * -1 #float型となる。

float型データを使用する際は、小数点数を変数に代入しましょう。

float型データを用いたプログラムの実行例

float型データのポイント
・演算対象の方が混在している場合、整数はfloat型に変換される。
・float型の範囲(-1.7976931348623157e+308 <= f <= 1.7976931348623157e+308)

bool型データの使い方

bool型は正しいか正しくないかの論理(YESとNO)の値を格納するデータ型です。
if文を使用する時に用いられます。

trueFlg = True
falseFlg = False
if trueFlg :
  print('trueです') #trueなので、if文内の処理が実行される。
if falseFlg :
  print('falseです') #falseなので、if文が実行されない。

flg = (1 == 1) #等価演算子による返却値を代入。
print(flg)

bool型データを使用する際は、「True」もしくは「False」、比較演算子の返却値を変数に代入しましょう。

bool型データを用いたPythonプログラムの例

datetime型データの使い方

datetime型は日付や日時を格納するデータ型です。
本日の日付や予約日時などを扱いたい時に使用されます。

import datetime as date
today = date.datetime.now() #本日日時を取得する
print(today)
print(today.weekday()) #0は月曜日。数値が増える毎に曜日が進む。
print(today.time()) #時間を取得
print(today.strftime("%m-%d-%y(%A)"))

datetime型を使用する際は、「import datetime」でdatetimeモジュールをインポートしましょう。

datetime型データを用いたPythonプログラムの例

datetime型データのポイント
・「import datetime」でインポートすることで、datetime型を扱えるようにする。
・曜日は0(月曜日)からスタート。
・MINYEARは1,MAXYEARは9999。

datetimeの詳細な仕様はこちらから

set型データの使い方

set型は同じデータ型の要素を順不同で集めたデータ型です。
「果物を集めたフルーツバスケット」「家族の名前」など順番のない要素をまとめて保持したい時に使用されます。

basket = {"apple","banana","orange","melon","apple"} #setを定義するためには{}を使用する
BINGO = {12,35,44,56,78}
moji = set('abcdefgh') #set()関数でも集合を生成できる。
print(basket) #重複は除去される
print(BINGO)
print(moji)

set型データを使用する際は、{}内に値を記載します。

Set型データを用いたPythonプログラムの例

Set型データのポイント
・{}で値を囲む。
・重複するデータは削除される。

dict型データの使い方

dict型は一意のキーとそれに紐づく値を格納するデータ型です。
「電話番号と名前」や「社員番号と社員名」などキーと値が一対一で対応する値を扱う時に用いられます。
※ほかの言語で言う「連想配列」や「ハッシュ」。

shain = {1:'Aihara' ,2:'Sato',3:'Takahashi'} #ディクショナリの値は{}内に「キー:値」を記載
tel = {'Satou':4098,'Suzuki':4093,'Satou':1111} #重複する値は上書きされる
print(shain)
print(tel)
print(shain[1]) #キーを指定すると値を取得できる

dict型を使用する際は、「キー:値」を定義し、それを{}で囲みましょう。

dict型データを用いたPythonプログラムの例

dict型データのポイント
・「キー:値」を{}で囲み表現する。
・キーは重複せずディクショナリ内で唯一である。(重複するデータは上書きされる。)
・項目が一意的でハッシュ可能である。

シーケンス型データの詳しい使い方

str型データの使い方

str型は文字列の値を格納するデータ型です。
文章や単語、ファイルパスを保持する際に用いられます。

a = '文字列a' #シングルクォートのstr型データ
b = "文字列b" #ダブルクォートのstr型データ
print(a) #文字列を表示する
print(b)
print(a[2:]) #インデックスを指定することで、任意の文字列を取得できる。

上記のように、シングルクォート(')で囲む場合とダブルクォート(“)で囲む場合の二種類の使い方があります。
※他の言語とは違い、\nのような特殊文字の扱いはシングルクォートとダブルクォートに違いはない。

str型データを用いたPythonプログラムの例

list型データの使い方

list型は同じ型のデータを列にまとめて並べるデータ型です。
「名簿の名前を順番に並べたり」「日ごとの来場者数を並べたり」とデータを列に並べる時に使用されます。

fruits = ['banana','apple','melon','orange','orange'] #重複は許可される。
matrix = [[1,2,3],[4,5,6,],[7,8,9]] #多次元配列を使用できる。
fruits.sort() #ローマ字順にソートする
print(fruits)
print(matrix)

list型を使用する際は、[]に値を囲みましょう。

list型データを用いたPythonプログラムの例

list型データのポイント
・要素を[]で囲むことでlistを表現できる。
・[]を入れ子にすることで多次元配列を使用できる。

tuple型データの使い方

複数のデータを構成要素とするデータを扱うときに用いられるデータ型です。
「三原色(赤、青、緑)」や「座標軸(x,y,z)」などその構成自体に意味がある集合を扱う時に使用されます。

RGB = (200,255,0) #タプルは()内に値を設定する
coordinate = 1,2,3 #()がない場合はカンマで区切る
print(RGB)
print(coordinate)

tuple型を使用する際は、()に値を格納するか、,(カンマ)で値を区切りましょう。

tuple型データを用いたPythonプログラムの例

tuple型データのポイント
・要素を()で囲むことでtupleを表現できる。
・違うデータ型の要素を一緒にまとめることができる。

Pythonデータ型のまとめ

以上でPythonのデータ型一覧の紹介でした。

Pythonデータ型のまとめ
pythonは「動的型付け言語」。
主なデータ型は下記のものがある。
・非シーケンス型
int(整数)…小数点を含まない数値
float(浮動小数点数)…小数点を含む数値
bool(論理値)…正しいか正しくないか。TrueとFalseのみ。
datetime(日付)…年月日時刻曜日を含む日時
set(集合)…同じデータ型要素の集合。
dict(辞書)…一意のキーとそれに紐づく値。
・シーケンス型
str(文字列)…文字列、文字
list(配列)…同じデータを一列に並べた配列
tuple(構成組)…構成要素となる複数のデータを並べた配列。

最後までご覧いただきありがとうございました。

下記にPython初心者のための学習完全ガイドを掲載しています。
お時間のある方はぜひチャレンジしてみてください。

Python,プログラミング言語

Posted by 9noike