
値には文字列や整数、浮動小数点など「型」があります。Pythonでは値の「型」をそれほど意識する必要はありませんが、必要最低限の理解は必要です。今回は値の型を調べる方法、変換する方法を解説します。
・Pythonでよく使うデータ型の種類
・データ型の調べ方
・データ型を他のデータ型に変換する方法
Pythonのデータ型種類
データ型には多くの種類があり、今回はよく使われるデータ型を紹介します。
int型(integer):整数
int型は整数を扱うデータ型です。int型は変数に直接整数を代入することで作成できます。
USDJPY = 100
flot型:浮動小数点
flot型は小数点を含む数値を扱うデータ型です。flot型は変数に直接、小数点の値を代入することで作成できます。
EURJPY = 140.55
”+”や”-”の符号や空白があっても問題ありません。
str型(string):文字列
str型は文字列として扱われるデータ型です。str型は3つの記述方法があります。
- シングルクォートで囲う
- ダブルクォートで囲う
- 3連続のシングルクォートで囲う
'ドル円'
"ドル円"
'''ドル円'''
bool型:真偽値
bool型は真偽値を扱うデータ型です。「真」の場合は「ture」、「偽」または省略されている場合は「false」で判断されます。理論式においての数値の「1」は「ture」、「0」は「false」として扱われます。
GoldCross = true
DeadCross = false
list型:リスト
list型はリストを扱うデータ型です。リストの構成にはいくつかの方法がありますが、ここでは角括弧の対[]を使い作成する方法を紹介します。
角括弧内に数値や文字列、を「,」で区切って代入します。
※リストの作成方法については、別の記事で詳しく解説します。
currency = ['USDJPY', 'EURJPY', 'EURUSD']
dict型:辞書
dict型は辞書を扱うデータ型です。list型ではデータを直接入れましたが、dict型はデータにラベルを付けて格納するイメージです。
dict型の作成方法は、波括弧内にデータとラベルを「:」でつなげ、「,」で区切って代入します。
currency = {'USDJPY':110, 'EURJPY':140, 'EURUSD':1.10}
※dictついては、別の記事で詳しく解説します。
Pythonでデータ型を調べる方法
Pythonは動的型付け言語と呼ばれるプログラミング言語です。データ型を定義する必要はなく、実行したときにデータ型の判定が自動で行われます。
そのため、代入した変数がどのデータ型になっているかを調べる「type」関数が用意されています。
データ型を調べたい変数を「type(変数名)」と書いて実行すると、そのデータ型を判定した結果が表示されます。
USDJPY = 100 ; currency = "ドル円"
print(type(USDJPY))
print(type(currency))
このコードを実行すると整数を意味するintと文字列を意味するstrが表示されます。
<class 'int'>
<class 'str'>
Pythonでデータ型を変換する方法
例えば計算で求めた数値を「取得平均単価105円」のように文字列と連結したい場合があるとします。同じ文字列同士のデータ型であれば「+」演算子で連結できますが、数値と文字列を連結しようとするとエラーになります。
ave = (110+100)/2
ans = "平均取得単価" + ave + "円"
print(ans)
このコードを実行すると、異なるデータ型が混在しているのでエラーとなります。
この場合は、数値を文字列に変換することでエラーを回避することが可能です。
数値を文字列に変換する
先ほどのコードの数値は「str()」を使うことで文字列に変換できます。
ave = (110+100)/2
ans = "平均取得単価" + str(ave) + "円"
print(ans)
このコードを実行するとエラーが解消され「平均取得単価105.0円」と表示されます。
理論値を文字列に変換する
strは数値を文字列に変換する以外に、理論値も文字列に変換することができます。
ans = "100 > 110は" + str(100>110)
print(ans)
このコードを実行すると「100>110はfalse」と表示されます。
浮動小数点を整数に変換する
整数に変換する場合は、「int()」を使います。
「int()」を使って、浮動小数点を整数化すると小数点以下は切り捨てられます。
USDJPY = 110.99
print(int(USDJPY))
このコードを実行すると、「110」と表示されます。
逆に、整数を浮動小数点に変換する場合は、「float()」を使います。
USDJPY = 110
print(float(USDJPY))
このコードを実行すると、「110.0」と表示されます。
10進数を2進数、8進数、16進数に変換する
数値の表示を10進数から2進数、8進数、16進数に変換する場合は「bin()」、[oct()」、「hex()」を使います。
a = 10
print(a)
print(bin(a))
print(oct(a))
print(hex(a))
このコードを実行するとそれぞれの数値が変換された、「10」「0b1010」「0o12」「0xa」と表示されます。
赤マーカー部分が〇〇進数を表し、黄色マーカーが数値を意味します。
今回のまとめ
・Pythonでは基本的にデータ型を指定する必要はなく、実行するときに自動でデータ型を判定する。
・データ型は「type」を使って調べることができる。
・データ型は「str()」「int()」などを使って、任意のデータ型に変換できる。
コメント