value = xxx
if isinstance( value, tuple ):
print "This is Tuple type"
elif isinstance( value basestring ):
print "This is str or unicode"
elif isinstance( value, float ):
print "This is float"
elif isinstance( value,int ):
print "This is Int"
basestringで、str型もしくはunicode型を判定できる。
なお、typesをimportして、TupleTypeとかStringTypesとかと比べてもOK。
>>>
>>> from types import *
>>> value=u"あほ"
>>> isinstance(value,StringTypes)
True
>>> dir()
['BooleanType', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', 'Class
Type', 'CodeType', 'ComplexType', 'DictProxyType', 'DictType', 'DictionaryType',
'EllipsisType', 'FileType', 'FloatType', 'FrameType', 'FunctionType', 'Generato
rType', 'GetSetDescriptorType', 'InstanceType', 'IntType', 'LambdaType', 'ListTy
pe', 'LongType', 'MemberDescriptorType', 'MethodType', 'ModuleType', 'NoneType',
'NotImplementedType', 'ObjectType', 'SliceType', 'StringType', 'StringTypes', '
TracebackType', 'TupleType', 'TypeType', 'UnboundMethodType', 'UnicodeType', 'XR
angeType', '__builtins__', '__doc__', '__name__', 'value']
>>> isinstance(value,TupleType)
False
>>>