Pythonはtype型は型を判定する。
type型は判定すると聞いたが何をどう判定するの?
【結論】
type型は変数の型を調べる事ができます。
【理由】
type型はtype(変数名)のように使います。
str01 = "a"
print(type(str01))
> str
typeで "a"は文字列ですからstrで出力されます。
a = 3.14
type(a)
>floot
a = 3.14は少数ですから少数を表すflootで出力されます。
print(type('string') is str)
>True
print(type('string') is int)
>False
これはisでその型かどうかを判定します。
print(type('string') is str)は文字列でstrなので
Trueとなります。
それに対してprint(type('string') is int)でintは数値型なので違うのでFalseとなります。
以上が基礎的なtype型の扱い方です。
【具体例】
関数で数値を計算するコードでtype型を見ましょう。
def calc(data1, data2):
if (type(data1) is int) & (type(data2) is int):
result = data1 + data2
result_str = str(result)
print('答えは' + result_str)
else:
print('入力エラーです。')
calc(34, 56)
calc("34", "67")
calc関数の二つの引数を用意します。
def calc(data1, data2):でdata1に34、data2に56を入れます。
&はどちらもTrueであるときだけTrueを返し、どちらか一方、もしくは両方がTrueであるときはFalseを返す演算子です。
if (type(data1) is int) & (type(data2) is int):
calc(34, 56)は数値ですからintで数値となります。
result = data1 + data2はdata1とdata2を足します。34+56となります。
result_str = str(result)
それをstr(result)で文字列にしresult_str変数に入れます。
print('答えは' + result_str)
>答えは90
calc("34", "67")は文字列です。
if (type(data1) is int) & (type(data2) is int):
で処理しても文字列になるからint型の数値ではありませんから計算されません。
& 演算子ですのどどちらか一方が文字列でも計算されません。falseとなります。
falseですので計算されず
else:
print('入力エラーです。')
となりエラーです。と出力されます。
【結論】
type型について初歩から簡単に解説しましたが
type型を使いこなすには演算子や分岐などの基礎も理解するとより使う幅が広がります。
&や+などやif elseは計算の入力の処理で typeと合わせて良く使われます。
取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com