本文主要是介绍type在python是什么意思_Python type 与 __bases__,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
type 字面意思是类型,可以理解为模具,通过模具生成各种各样的实例。 Python中内置函数type()可以查看实例的具体类型。
什么样子的类型是type呢 ? 看看下面的例子。
>>> type(bool)
>>> type(str)>>> type(int)>>> type(list)>>> type(dict)>>> type(set)>>> type(type)
可以发现, bool,str,int,list,dict,set都是type类型,而且这些是基本类型。
看一下这些类型的实例:
>>>type(True)
>>>type(False)
>>> type(‘1234‘)
>>> type([1,2,3,4])
>>> type({1,2,3,4})
>>> type({1:‘a‘,2:‘b‘,3:‘c‘,4:‘d‘})
还有一种类型叫做class, 它也是一种模板,它的实例叫做Object。
>>> classMyObjectA(object):
...pass...>>>type(MyObjectA)
class 具有继承关系, 那它的子类又是什么类型呢 ? Python中所有的class都继承object, 那object又是什么类型呢?
>>> classMyObjectSubA(MyObjectA):
...pass...>>>type(MyObjectSubA)
>>>type(object)
看来只要是class,类型都是type。 再看看它们的实例化的对象类型
>>> my_object_a =MyObjectA()>>>type(my_object_a)
>>> my_object_sub_a =MyObjectSubA()>>>type(my_object_sub_a)
如果一个object是谁的实例,那它的类型就是谁。
再来看一看__bases__, __bases__ 也是内置函数, 用来查看class的继承关系。先看看下面多种继承的关系。
>>> classMyObjectB(object):
...pass...>>> classMyObjectC(MyObjectA, MyObjectB):
...pass...>>> MyObjectC.__bases__(, )
MyObjectC继承MyObjectA, MyObjectB. 可以看到MyObjectC的__bases__ 就是包含MyObjectA和MyObjectB的一个元组。
MyObjectA的__bases__是object, 验证下:
MyObjectA.__bases__(,)
那object的__base__是什么呢?
>>> object.__bases__()
空的元组。
type的__bases__是什么呢 ?
>>> type.__bases__(,)
object
最后,我们可以整理出一幅这样的图
原文地址:http://www.cnblogs.com/mypythonic/p/6883255.html
这篇关于type在python是什么意思_Python type 与 __bases__的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!