12.データ型

プログラム言語で取り扱うデータにはデータの型があり
書き方などが決まっている。

Pythonのデータ型

Pythonでデータ型を調べる際には type関数を用いる

整数型

int型とも言う(integer の略)

In [1]:
num = 1234
print(type(num))
<class 'int'>

プログラムでは通常の数値を書くと10進法で解釈されるが
その他に2,8,16進法を用いることができる。

2進法は 0b  をはじめにつけます。
8 進法は 0o をはじめにつけます。
16進法は 0x をはじめにつけます。

In [2]:
# 2進法
num = 0b11000100
print(num)

# 8 進法
num = 0o777
print(num)

# 16進法
num = 0xffff
print(num)
196
511
65535

10進法は0から9まで数えて10までいくと1つ桁が繰り上がります。
2進法は0 , 1 で2つ数えて繰り上がり、
8進法は0から7まで行ったら繰り上がり
16進法は0から9までいったら次は英語のabcdefまでいくと
繰り上がるというものです。

小数型

浮動小数点型、float型ともいいます。

In [3]:
num = 1.234
print(type(num))
<class 'float'>

指数表記も使えます。指数表記は英文字のeをつけます。
e3は10の3乗を表します。
-を付けると逆に-乗になります。

In [4]:
# 1.2の10の3乗
num = 1.2e3
print(type(num))
print(num)

# 1.2の10の -3乗
num = 1.2e-3
print(num)
<class 'float'>
1200.0
0.0012

同じ数値でも、整数型と小数型では違う形なので注意!!

小数型と整数型の計算結果は小数型

In [5]:
# 整数割る整数
print(10/4)
# 整数割る整数(余りなし)
print(10//4)
# 整数割る小数
print(10//4.0)
# 小数割る小数
print(12.3/4.0)
2.5
2
2.0
3.075

論理型

booleanを略してbool型とも言う
True か False どちらかの値が入る型です。

In [6]:
answer = True
print(answer)
print(type(answer))
True
<class 'bool'>

計算の判定結果もbool型

==で==の左側と右側が等しいかどうかを判定

In [7]:
1==2
Out[7]:
False

bool型は等しければTrue , 違えばFalse の値となる。

文字列型

string型ともいう
文字列(str)は、ダブルクォート " 、またはシングルクォート ' で囲む。

In [8]:
# 文字列型
print(type('12345'))

# こちらは数値
print(type(12345))
<class 'str'>
<class 'int'>

文字と数値の変換

文字列を整数型に直す場合は
int('数字')

整数型や小数型を文字列に直す場合は
str(数値)

In [9]:
# 文字列を整数型に
a = '12345'
# 文字を数値に変換したので計算できるようになる
print(int(a) + 12345)
24690
In [10]:
# 小数点を文字列に変換
b = 2.5
# 数値を文字列に変換したので文字列として加えられる
print('江頭' + str(b) + '分')
江頭2.5分

byte型

バイト列として扱いたい文字列の "..." や '...' 
の前に b または B を記述して、バイト列(bytes)であることを示す。

In [11]:
byte_st = b'0123456789abcdef'
print(byte_st)
print(type(byte_st))
b'0123456789abcdef'
<class 'bytes'>

b がついていたら byte型で文字列型とは別物