Python类型判断type与isinstance
2017-06-30 19:01
706 查看
在游戏项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端“参数错误”错误码。
这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。
验证类型用type函数,非常好用,比如
既然有了type()来判断类型,为什么还有isinstance()呢?一个明显的区别是在判断子类。type()不会认为子类是一种父类类型。isinstance()会认为子类是一种父类类型。
这样做不但便于调试,而且增加健壮性。因为客户端是可以作弊的,不要轻易相信客户端传过来的参数。
def compute_entropy(self, dataset): """ 计算数据集dataset的信息熵 dataset: 第一列为数据集的label """ if isinstance(dataset, np.ndarray): pass else: raise(TypeError("numpy.ndarray is required for input."))
验证类型用type函数,非常好用,比如
type("foo") == str type(2.3) in (int, float)
既然有了type()来判断类型,为什么还有isinstance()呢?一个明显的区别是在判断子类。type()不会认为子类是一种父类类型。isinstance()会认为子类是一种父类类型。
class Foo(object): pass class Bar(Foo): pass print(type(Foo()) == Foo) print(type(Bar()) == Foo) print(isinstance(Foo(), Foo)) print(isinstance(Bar(), Foo)) # 输出: True False True True
相关文章推荐
- Python语言学习讲解八:类型判断type与isinstance的区别
- python数据类型判断type与isinstance的区别
- Python的type 还是要靠isinstance判断类型
- Python isinstance 和 type,类型判断
- Python 继承、多重继承、多态、isinstance判断类型、type()获取变量类型、dir()获取变量的所有属性
- 飘逸的python - 类型判断type与isinstance的区别
- python数据类型判断type与isinstance的区别实例解析
- python数据类型判断type与isinstance的区别
- Python中为什么推荐使用isinstance来进行类型判断?而不是type
- Python中请使用isinstance()判断变量类型
- python 判断参数为Nonetype类型或空
- Python中请使用isinstance()判断变量类型
- python isinstance函数判断变量类型
- Python中请使用isinstance()判断变量类型
- python判断变量类型时,为什么不推荐使用type()方法
- Python3基础 isinstance()判断变量是否为指定类型
- isinstance:python判断对象类型
- Python如何判断<type 'NoneType'>数据类型
- type,isinstance判断一个变量的数据类型
- Python之isinstance() 函数判断数据类型