数値型
Python2では整数int型と長整数long型が存在しましたが、Python3では統合されてint型のみとなりました。 正負は±によってあらわされます。
型と演算子
型 | 説明 | 例 |
---|---|---|
int | 小数点を含まない数値 | 1、-2 |
float | 小数点を含む数値 | 0.5、-0.01 |
数値型の計算には次の演算子を使用します。
演算子 | 例 | 結果 | |
---|---|---|---|
加算 | + | 1 + 1 | 2 |
減算 | – | 1 – 2 | -1 |
乗算 | * | 2 * 3 | 6 |
除算 | / | 4 / 2 | 2.0 |
あまり | % | 5 % 2 | 1 |
切り捨て除算 | // | 5 // 3 | 1 |
べき乗 | ** | 2 ** 5 | 32 |
注意しなければいけないのが除算の結果が「2」ではなく「2.0」とfloat型になっている点です。
切り捨て除算の場合は商の整数部分のみ得ることができます。
本来「5 ÷ 3 = 1.66666…」ですが、小数点以下を切り捨てて「1」とします。
変数を計算に用いる場合、上記の演算子と=(代入)を組み合わせた代入演算子があります。 左辺に右辺との計算結果を代入します。
例)
a += b # a = a + b と同じ
b -= c # b = b – c と同じ
切り上げ、切り捨て
小数点以下を任意に切り上げ、切り捨てしたい場合はmathモジュールで実現できます。
切り上げの場合はceil()、切り捨ての場合はfloor()を使用します。
例)
math.ceil(1.234) #2
math.floor(1.234) #1
四捨五入
四捨五入をしたい場合は、decimalモジュールのDecimal型を使用します。
対象をDecimal型に変換してquantize()を使用します。
Decimal.quantize(m, rounding)
第1引数 m:Decimal型で桁を指定します。指定した桁より下位の桁を丸めます。
第2引数 rounding:丸め方の形式を指定します。
ROUND_UP:切り上げ
ROUND_DOWN:切り捨て
ROUND_HALF_UP:四捨五入
例)
Decimal(“1.234”).quantize(Decimal(”0.01”), rounding=ROUND_HALF_UP)
# 1.23
Decimal(“1.235”).quantize(Decimal(”0.01”), rounding=ROUND_HALF_UP)
# 1.24
文字列型
文字列型は’(シングルクォーテーション)または”(ダブルクォーテーション)で囲って表現します。両者に違いはありません。
bool型(真偽値)
bool型にはTrue(正)、False(否)の2つのオブジェクトがあります。
数値0はFalse、それ以外の実数はTrueとして扱われます。
文字列の場合は””(空文字)はFalse、それ以外をTrueとして扱います。
例)
bool(0) # False
bool(1) # True
bool(“”) # False
bool(” “) # True
bool(“aaa”) # True
日付型
日付はdatetimeモジュールで扱われます。
日付には年月日を保持するdate型と年月日に加えて時分秒ミリ秒まで保持するdatetime型があります。
例)
print(datetime.date.today())
# 2022-08-21
print(datetime.datetime.today())
# 2022-08-21 11:18:00.789605
コレクション(配列)
Pythonでは複数のデータから構成されるデータ型をコレクションと呼びます。
コレクションにはリスト、タプル、セット、辞書の4種類あります。
コレクションはfor文のループ処理対象にできるイテレータブルなオブジェクトです。
要素の順番 | 要素の変更 | 要素の重複 | 書き方 | |
---|---|---|---|---|
リスト(list) | あり | 〇 | 〇 | [a, b, c] |
タプル(tuple) | あり | × | 〇 | (a, b, c) |
セット(set) | なし | 〇 | × | {a, b, c} |
辞書(dict) | なし | 〇(キーは不変) | 〇(キーは重複不可) | {a:1, b:2, c:3} |
リスト(list)
リストは[](角括弧)で表現し、要素にはインデックス番号でアクセスします。
例)
data = [“red”, “blue”, “green”]
print(data[0])
#red
リストへの操作は次のようなものがあります。
append(x) | リストの末尾にxを追加します。 |
remove(x) | リストの中からxに等しい値の要素を削除します。 |
clear() | リスト中の要素をすべて削除します。 |
count(x) | リストでのxの出現回数を返します。 |
sort() | リスト内の要素を値順に並べ替えます。 |
タプル(tuple)
タプルはリストに似ていますが、要素の変更ができません。したがってappend()やremove()のような関数も使用できません。
そのかわりリストよりも高速にデータを処理できます。また、イミュータブルであるのでハッシュ化できます。
タプルを定義するには()で括り、要素をカンマで区切ります。
例)
data = (“red”, “blue”, “green”)
print(data(1))
#red
セット(set)
セットはリストやタプルのような要素の順番がありません。
また、セットはユニーク(固有)の要素しか保持せず、同じ要素を追加しても無視されます。
セットを定義するには{}(波括弧)で括り、要素をカンマで区切ります。
例)
data = {“red”, “blue”, “green”}
セットへの要素の追加は、add()をつかいます。
例)
data = {“red”, “blue”, “green”}
data .add(“black”)
#data = {“black”, “red”, “blue”, “green”}
セットから要素を削除するにはremove()またはdiscard()をつかいます。
remove()はセット内に対応する要素がないとエラーとなるので、discard()をつかうとよいでしょう。
例)
#data = {“black”, “red”, “blue”, “green”}
data .discard(“red”)
#data = {“black”, “blue”, “green”}
セットはユニークな値しか保持しないため、集合演算が可能です。
辞書(dict)
辞書はキー(key)とそれに対応する値(value)を扱う型です。
辞書は要素の順番を持ちませんが、1つの要素がkeyとvalueのペアになっています。
辞書を定義するには{}(波括弧)で括り、要素をカンマで区切ります。
例)
data = { “apple” : 200, “orange” : 150, “banana” : 100 }
辞書を追加するときは、キーと値を宣言することで追加できます。
例)
data = { “apple” : 200, “orange” : 150, “banana” : 100 }
data[“melon”] = 500
#data = {“apple” : 200, “orange” : 150, “banana” : 100, “melon” : 500}
辞書はキーを変更することができませんが、追加と同様の方法で、キーに対応する値を変更できます。
辞書の削除はdel()によって、キーと値を削除することができます。
例)
data = { “apple” : 200, “orange” : 150, “banana” : 100, “melon” : 500 }
del() data[“apple”]
#data = {“orange” : 150, “banana” : 100, “melon” : 500}
コメント