読者です 読者をやめる 読者になる 読者になる

YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

型チェックをする

動機

Pythonに限らず動的型付けな言語は変数を扱うときに型に気をつける必要があります。いままでは割とざーっと作ってしまっていたので型の扱いはKnownでやっていたのですが、ソースを公開したりしているので多少気をつけていこうかなと思いました。

方法

typesをimportします。

下記に一覧をメモしておきます。たいてい<型名>Typeな感じです。

定義された名前
None NoneType
Boolean BooleanType
整数 IntType
バイト文字列 StringType
Unicode UnicodeType
文字列(Byte & Unicode) StringTypes
リスト ListType
辞書 DictType, DictionaryType
関数 FunctionType, LambdaType
ジェネレータ GeneratorType
クラス ClassType
インスタンス InstanceType

イディオム

しかしながら、直接type関数を使うのもスマートではないんで通常は下記のようにisinstance関数を使いいます。

import types
isinstance(arg0, unicode)
isinstance(arg1, class1)