Python3内置函数汇总

目录

Python3 type() 函数详解 获取对象的类型及动态创建类

type()函数的主要作用是获取对象的类型。如果需要判断对象的类型建议使用isinstance()函数,因为需要考虑到类的继承。type()函数还可以动态的创建一个类,它创建的结果和使用class声明是一样的,因为所以class声明的类,最终都是由type类实例出来的。
它是Python的内置函数,在python文件中直接可以使用。

type

语法

type(object)
type(name, bases, dict)

参数

如果是要获取对象类型,则只需要传递object即可。
如果是要动态创建类,则需要传递name, bases, dict三个参数。

object - 任意对象

name - 创建的类的名字
bases - 类继承的父类集合
dict - 类的属性及方法集合

返回值

如果是获取对象类型,则返回对象所属的类型。
如果是动态创建类,则返回类对象。

实例

§ 实例1 - 获取对象类型
#数字
>>> type(1)
#<class 'int'>

#字符串
>>> type('abc')
#<class 'str'>

#列表
>>> type([])
#<class 'list'>

#元组
>>> type(())
#<class 'tuple'>

#字典
>>> type({})
#<class 'dict'>
§ 实例2 - 动态创建一个类
#动态创建一个类,没有继承关系的话。一般类继承填object,还可以定义一些属性或者方法。
>>> user = type('user', (object,), {'name': 'zky'})
>>> o = user()
>>> o.name
'zky'

#声明2个信息类,然后使用type()创建新的类,相当于重组(同时继承了2个类的所有属性和方法)。
>>> class Info():
...     age = 18
...     def getAge(self):
...         return self.age
...
>>> class InfoTwo():
...     birthday = '2018-12-29'
...     def getBirthday(self):
...         return self.birthday
...
>>> user = type('user', (Info, InfoTwo), {'name': 'zky'})
>>> o = user()
>>> o.getAge()
18
>>> o.getBirthday()
'2018-12-29'
>>> o.name
'zky'

如果有任何建议或意见,欢迎交流沟通

作者:张恺阳

本文链接:https://www.zky.name/article/45.html

来源:张恺阳博客