Pythonでは、変数が文字列型かどうかを判定するためにtype()
関数やisinstance()
関数を使用します。
type()
関数による判定
type()
関数は、オブジェクトのデータ型を確認するための組み込み関数です。以下に、type()
関数を用いて文字列型かどうかを判定する例を示します。
a = 'Apple'
if type(a) is str:
print('文字列型です')
else:
print('文字列型ではありません')
このコードでは、変数a
が文字列型(str
)であるかどうかを判定しています。文字列型であれば'文字列型です'
と出力し、そうでなければ'文字列型ではありません'
と出力します。
isinstance()
関数による判定
isinstance()
関数は、第一引数に型を知りたいオブジェクトを渡し、第二引数に判定したい型を指定します。以下に、isinstance()
関数を用いて文字列型かどうかを判定する例を示します。
a = 'Apple'
if isinstance(a, str):
print('文字列型です')
else:
print('文字列型ではありません')
このコードでは、変数a
が文字列型(str
)であるかどうかを判定しています。文字列型であれば'文字列型です'
と出力し、そうでなければ'文字列型ではありません'
と出力します。
type()
関数とisinstance()
関数の使い分け
type()
関数とisinstance()
関数の主な違いは、サブクラスに対する振る舞いです。type()
関数はサブクラスの型が一致した場合のみTrue
を返します。一方、isinstance()
関数はスーパークラスの型が一致した場合もTrue
を返します。したがって、クラスの継承関係も含めて型を判定したい場合は、isinstance()
関数を使用します。
以上、Pythonで文字列の型を判定する方法について説明しました。これらの関数を使って、変数の型を確認しながらコードを書くことは、エンジニアにとって非常に重要です。変数の中身を把握しながらミスのないプログラムを書くようにしましょう。