8.15. タイプ—組み込みタイプの名前—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/library/types
移動先:案内検索

8.15。 タイプ —組み込み型の名前

ソースコード: :source: `Lib / types.py`



このモジュールは、標準のPythonインタープリターによって使用されるいくつかのオブジェクトタイプの名前を定義しますが、さまざまな拡張モジュールによって定義されるタイプの名前は定義しません。 また、listiteratorタイプなど、処理中に発生するタイプの一部は含まれていません。 from types import *を使用しても安全です—モジュールはここにリストされている名前以外の名前をエクスポートしません。 このモジュールの将来のバージョンによってエクスポートされる新しい名前は、すべてTypeで終わります。

一般的な使用法は、次のように、引数のタイプに応じて異なることを行う関数です。

from types import *
def delete(mylist, item):
    if type(item) is IntType:
       del mylist[item]
    else:
       mylist.remove(item)

Python 2.2以降、 int()str()などの組み込みファクトリ関数も対応するタイプの名前です。 これは、 types モジュールを使用する代わりに、タイプにアクセスするための推奨される方法になりました。 したがって、上記の例は次のように書く必要があります。

def delete(mylist, item):
    if isinstance(item, int):
       del mylist[item]
    else:
       mylist.remove(item)

モジュールは次の名前を定義します。

types.NoneType
Noneのタイプ。
types.TypeType
タイプオブジェクトのタイプ( type()によって返されるものなど)。 組み込みのタイプのエイリアス。
types.BooleanType

bool 値のタイプTrueおよびFalse; 組み込みの bool のエイリアス。

バージョン2.3の新機能。

types.IntType
整数のタイプ(例: 1); 組み込みの int のエイリアス。
types.LongType
長整数のタイプ(例: 1L); 組み込みの long のエイリアス。
types.FloatType
浮動小数点数のタイプ(例: 1.0); 組み込みの float のエイリアス。
types.ComplexType
複素数のタイプ(例: 1.0j)。 Pythonが複素数のサポートなしで構築された場合、これは定義されません。
types.StringType
文字列のタイプ(例: 'Spam'); 組み込みの str のエイリアス。
types.UnicodeType
Unicode文字列のタイプ(例: u'Spam')。 PythonがUnicodeサポートなしでビルドされた場合、これは定義されません。 これは、組み込みの unicode のエイリアスです。
types.TupleType
タプルのタイプ(例: (1, 2, 3, 'Spam')); 組み込みのタプルのエイリアス。
types.ListType
リストのタイプ(例: [0, 1, 2, 3]); 組み込みのlistのエイリアス。
types.DictType
辞書の種類(例: {'Bacon': 1, 'Ham': 0}); 組み込みの dict のエイリアス。
types.DictionaryType
DictTypeの別名。
types.FunctionType

types.LambdaType

ユーザー定義関数のタイプと lambda 式によって作成された関数。
types.GeneratorType

ジェネレーター-イテレーターオブジェクトのタイプ。ジェネレーター関数を呼び出すことによって生成されます。

バージョン2.2の新機能。

types.CodeType
compile()によって返されるようなコードオブジェクトのタイプ。
types.ClassType
ユーザー定義の古いスタイルのクラスのタイプ。
types.InstanceType
ユーザー定義の古いスタイルのクラスのインスタンスのタイプ。
types.MethodType
ユーザー定義クラスインスタンスのメソッドのタイプ。
types.UnboundMethodType
MethodTypeの別名。
types.BuiltinFunctionType

types.BuiltinMethodType

len()sys.exit()などの組み込み関数のタイプ、および組み込みクラスのメソッド。 (ここで、「組み込み」という用語は「Cで書かれた」という意味です。)
types.ModuleType
モジュールのタイプ。
types.FileType
sys.stdoutなどの開いているファイルオブジェクトのタイプ。 組み込みのファイルのエイリアス。
types.XRangeType
xrange()によって返される範囲オブジェクトのタイプ。 組み込みの xrange のエイリアス。
types.SliceType
lice()によって返されるオブジェクトのタイプ。 組み込みのスライスのエイリアス。
types.EllipsisType
Ellipsisのタイプ。
types.TracebackType
sys.exc_tracebackにあるようなトレースバックオブジェクトのタイプ。
types.FrameType
tbがトレースバックオブジェクトの場合、tb.tb_frameにあるようなフレームオブジェクトのタイプ。
types.BufferType
buffer()関数によって作成されたバッファオブジェクトのタイプ。
types.DictProxyType
TypeType.__dict__などのdictプロキシのタイプ。
types.NotImplementedType
NotImplementedのタイプ
types.GetSetDescriptorType

FrameType.f_localsarray.array.typecodeなど、PyGetSetDefを使用して拡張モジュールで定義されているオブジェクトのタイプ。 このタイプは、オブジェクト属性の記述子として使用されます。 property タイプと同じ目的ですが、拡張モジュールで定義されたクラス用です。

バージョン2.5の新機能。

types.MemberDescriptorType

datetime.timedelta.daysなど、PyMemberDefを使用して拡張モジュールで定義されているオブジェクトのタイプ。 このタイプは、標準の変換関数を使用する単純なCデータメンバーの記述子として使用されます。 property タイプと同じ目的ですが、拡張モジュールで定義されたクラス用です。

バージョン2.5の新機能。

types.StringTypes

StringTypeUnicodeTypeを含むシーケンスは、文字列オブジェクトのチェックを容易にするために使用されます。 これを使用すると、実行中のバージョンのPythonでビルドされている場合にのみ、UnicodeTypeが含まれるため、他の場所で構築された2つの文字列タイプのシーケンスを使用するよりも移植性が高くなります。 例:isinstance(s, types.StringTypes)

バージョン2.2の新機能。