版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/idwtwt/article/details/86591026
摘录来自: 张颖 赖勇浩 著. “编写高质量代码:改善Python程序的91个建议。
1 不刻意进行类型检查,而是在出错的情况下通过抛出异常来进行处理,这是较为常见的方式。
2 基于内建类型扩展的用户自定义类型,type函数并不能准确返回结果。
例子:
class UserInt(int):
def __init__(self,val=0):
self.__val=int(val)
n = UserInt()
print(type(n) is type(int))
输出:
dotzdeMacBook-Pro-2:python dotz$ python work/test.py
False
3 在古典类中,任意类的实例的type()返回结果都是<type 'instance'>
例子:
class A:
pass
class B:
pass
a = A()
b = B()
print(type(a))
print(type(a) == type(b))
输出:
dotzdeMacBook-Pro-2:python dotz$ python2.7 work/test.py
<type 'instance'>
True
4 使用isinstance()函数来进行类型检测
例子:
>>> isinstance(2,int)
True