重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
type() 函数是 python 中的一个内置函数,主要用于获取变量类型,在python内置函数中,与该函数相似的还有另外一个内置函数 isinstance函数。
为房山等地区用户提供了全套网页设计制作服务,及房山网站建设行业解决方案。主营业务为成都网站建设、网站设计、房山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
1 | type(object) |
参数:
object : 实例对象。
返回值:直接或者间接类名、基本类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | b=12.12 c="hello" d=[1,2,3,"rr"] e={"aa":1,"bb":"cc"}
print(type(b)) print(type(c)) print(type(d)) print(type(e))
print("***"*20)
classPerson(object): def__init__(self,name): self.name=name
defp(self): print("this is a methond")
print(Person) tom=Person("tom") print("tom实例的类型是:%s"%type(tom)) # 实例tom是Person类的对象。 |
输出结果:
1 2 3 4 5 6 7 | ************************************************************ tom实例的类型是: |
isinstance() 会认为子类是一种父类类型,考虑继承关系。
type() 不会认为子类是一种父类类型,不考虑继承关系。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解忧 @Blog(个人博客地址): shuopython.com @WeChat Official Account(微信公众号):猿说python @Github:www.github.com
@File:python_type.py @Time:2019/11/22 21:25
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """
classPeople: pass
classbody(People): pass
print(isinstance(People(),People)) # returns True print(type(People())==People) # returns True print(isinstance(body(),People)) # returns True print(type(body())==People) # returns False |
输出结果:
1 2 3 4 | True True True False |
代码分析:
创建一个People对象,再创建一个继承People对象的body对象,使用 isinstance() 和 type() 来比较 People() 和 People时,由于它们的类型都是一样的,所以都返回了 True。
而body对象继承于People对象,在使用isinstance()函数来比较 body() 和 People时,由于考虑了继承关系,所以返回了 True,使用 type() 函数来比较 body() 和 People时,不会考虑 body() 继承自哪里,所以返回了 False。
如果要判断两个类型是否相同,则推荐使用isinstance()。