この章では、変数へ代入する値の型(データ型)について解説します。
4つのデータ型
データ型には以下の4つの型があります。
データ型の名称 | 説明 | 例 |
int | 整数型 | 1、10、100、-100 |
float | 小数型 | 1.5、-0.333 |
str | 文字型 | 'こんにちは'、'Python'、'123' |
bool | 真偽値型 | True、False |
データ型の調べ方
<表記方法>
type( 変数名 ) |
<プログラム例>
name = '型を調べる' print( type(name) ) number1 = '123' print( type(number1) ) number1 = 123 print( type(number1) )
<実行結果>
str
str
int
※2つ目の123は引用符で囲われている('123')ため文字型(str)ですが、3つ目の123は引用符で囲われていないため整数型となります。
データ型の変換
以下の関数を使うとデータ型を変換できます。
関数名 | 例 | 説明 |
int関数 | int(a) | 変数aの値をint型に変換(変数aが小数なら小数点以下は切り捨て、数値に変換できない文字ならエラー) |
float関数 | float(a) | 変数aの値をfloat型に変換(数値に変換できない文字ならエラー) |
str関数 | str(a) | 変数aの値をstr型に変換 |
bool関数 | bool(a) | 変数aの値をbool型(True、False)に変換 |
注意)
・Pythonではプログラム先頭で変数の型を宣言する必要はありません。(他のプログラム言語では型宣言が必要な場合があります)
・数値(整数、小数)と文字を合わせて演算することはできません。
数値と文字を連結させる場合は、数値を文字型(str)に、変換する必要があります。
数値と文字(数字)を四則演算する場合は、文字を数値(int、float)に、変換する必要があります。
<プログラム例>
# input関数で入力された値は文字型です year = input('現在は西暦何年ですか=') # 文字型を整数型に変換してから10を足し算する year = int(year) + 10 # 整数型を文字型に変換して他の文字と連結する print('10年後は' + str(year) + '年ですね')
<実行結果>
現在は西暦何年ですか=2020
10年後は2030年ですね
f-stringによる記述方法
Python3.6以降では、文字列の直前に「f」をつけて、変数名を{ }で囲うと、型変換を行わずに記述することができます。
これをf-stringと言います。覚えておくと便利です。
<プログラム例>
# input関数で入力された値は文字型です year = input('現在は西暦何年ですか=') # 文字型を整数型に変換後に10を足す year = int(year) + 10 # f-stringを使った記述方法 # 文字列の先頭に「f」をつける # 変数は{ }で囲う print(f'10年後は{year}年ですね')