原文:https://blog.csdn.net/mydriverc2/article/details/78687269
Python 判斷數據類型有type和isinstance
基本區別在於:
type():不會認為子類是父類
isinstance():會認為子類是父類類型
|
1
2
3
4
5
6
7
8
9
|
class
Color(
object
):
pass
class
Red(Color):
pass
print
type
(Color())
=
=
Color
print
type
(Red())
=
=
Color
print
isinstance
(Red(),Color)
|
執行結果如下:
|
1
2
3
4
|
D:\software\Python2.
7.13
\python.exe C:
/
Users
/
Administrator
/
PycharmProjects
/
PythonStudy
/
test.py
True
False
True
|
用isinstance判斷mongDB中的一些數據類型:
- 字符串、int、long、float - isinstance(data, (int, str, types.LongType, float))
- 時間類型 - isinstance(data, datetime.datetime)
- 布爾類型 - isinstance(data, (bool))
- 字典類型 - isinstance(data, (dict))
- 數組 - isinstance(data, (list))
- unicode - isinstance(data, unicode)
- mongo obJect - isinstance(data, bson.objectid.ObjectId)
可以引入types模板,獲取數據類型:
inport types
types取值:
BooleanType
BufferType
BuiltinFunctionType
BuiltinMethodType
ClassType
CodeType
ComplexType
DictProxyType
DictType
DictionaryType
EllipsisType
FileType
FloatType
FrameType
FunctionType
GeneratorType
GetSetDescriptorType
InstanceType
IntType
LambdaType
ListType
LongType
MemberDescriptorType
MethodType
ModuleType
NoneType
NotImplementedType
ObjectType
SliceType
StringType
StringTypes
TracebackType
TupleType
TypeType
UnboundMethodType
UnicodeType
XRangeType
