VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python数据类型判断常遇到的坑(2)

 

Python3.x中的types类型:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
types.BuiltinFunctionType
types.BuiltinMethodType
types.CodeType
types.DynamicClassAttribute
types.FrameType
types.FunctionType
types.GeneratorType
types.GetSetDescriptorType
types.LambdaType
types.MappingProxyType
types.MemberDescriptorType
types.MethodType
types.ModuleType
types.SimpleNamespace
types.TracebackType
types.new_class
types.prepare_class

 

Python3.x进行了类型的精简

 

isinstance方法

1
isinstance(object, classinfo)

object表示实例,classinfo可以是直接或间接类名、基本类型或者有它们组成的元组。

基本用法

1
2
3
4
5
6
7
>>> isinstance(1, int)
True
>>> 
>>> isinstance('pythontab.com', (str, int)) # 是其中一种即可
True
>>> isinstance(100, (str, int)) # 是其中一种即可
True

 

上面type的例子可以表示为:

1
2
3
>>> import types
>>> isinstance(2017,int)
True

那为什么不推荐使用type进行类型检查呢?

我们来看一下下面的例子。

1
2
3
4
5
6
7
import types
class UserInt(int):
    def __init__(self, val=0):
        self.val = int(val)
= 1
= UserInt(2)
print(type(i) is type(n))

相关教程