python type()
函数用于获取对象的类型或者创建一个新类的对象。它是python的内置函数。
语法
Python type() 函数有两种语法结构,语法如下:type(object) //语法1 获取对象的类型
type(name, bases, dict) //语法2 创建一个新类的对象
参数
- object:必须,指定要返回类型的对象。
- name:必须。类名。
- bases:必须。元祖,基类。
- dict:必须。字典,表示新类的属性和值
返回值
- 语法1:返回形如<xxx>对象的类型。
- 语法2:返回一个新的类型对象。
程序示例
介绍2个例子,了解python type()函数的使用方法。
例1
语法1,获取对象的类型。
str = 'yxjc123'
arr = [1,2,3,4]
dic = {'one':1,'two':2,'three':3}
print(type(str))
print(type(arr))
print(type(dic))
输出:<class 'list'>
<class 'dict'>
例2
语法2,在不使用class语法的情况下,动态的创建一个新类的对象,看下面的例子。
person = type('Person', (object,), dict(name='张三', age=23))
print(person.name)
print(person.age)
程序运行结果:
张三
23
23
使用type()创建的对象类型为<class 'type'>, 其中
- 第一个参数Person表示类名,
- 第二个参数(object,)元祖表示基类,
- 第三个参数表示属性和值。
person = type('Person', (object,), dict(name='张三', age=23))
print('Type = ', type(person))
print('__name__ = ', person.__name__)
print('__bases__ = ', person.__bases__)
print('__dict__ = ', person.__dict__)
输出:Type = <class 'type'>
__name__ = Person
__bases__ = (<class 'object'>,)
__dict__ = {'name': '张三', 'age': 23, '__module__': '__main__', '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None}
__name__ = Person
__bases__ = (<class 'object'>,)
__dict__ = {'name': '张三', 'age': 23, '__module__': '__main__', '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None}