type()
程序员文章站
2022-07-11 11:16:25
type()函数既可以返回一个对象的类型,又可以创建出新的类型 通过type()函数创建的类和直接写class是完全一样的,因为Python解释器遇到class定义时,仅仅是扫描一下class定义的语法,然后调用type()函数创建出class 正常情况下,我们都用class Xxx...来定义类, ......
type()函数既可以返回一个对象的类型,又可以创建出新的类型
通过type()函数创建的类和直接写class是完全一样的,因为python解释器遇到class定义时,仅仅是扫描一下class定义的语法,然后调用type()函数创建出class
正常情况下,我们都用class xxx...来定义类,但type()函数也允许动态创建出类来
查看数据类型
type()函数可以查看一个类型或变量的类型
class hello(object): def hello(self, name='world'): print('hello, %s.' % name) from hello import hello h = hello() h.hello() #输出:hello, world. print(type(hello)) #输出:<class 'type'>,hello是一个class,它的类型就是type print(type(h)) #输出:<class 'hello.hello'>,h是一个实例,它的类型就是class hello
动态创建类
type()函数既可以返回一个对象的类型,又可以创建出新的类型
比如,可以通过type()函数创建出类,而无需通过class 类名(object)...的定义
通过type()函数创建类,需依次传入3个参数:
1) class的名称;
2) 继承的父类集合,注意python支持多重继承,如果只有一个父类,别忘了tuple的单元素写法;
3) class的方法名称与函数绑定
def fn(self, name='world'): # 先定义函数 print('hello, %s.' % name) hello = type('hello', (object,), dict(hello=fn)) # 创建hello class,创建hello类,父类是object,类方法绑定的是fn h = hello() h.hello() #输出:hello, world print(type(hello)) #输出:<class 'type'> print(type(h)) #输出:<class '__main__.hello'>
上一篇: Photoshop批量处理图片技巧
下一篇: PS抽取彩色图形的黑白轮廓
推荐阅读
-
样式加载不出来,浏览器控制台报错:Resource interpreted as Stylesheet but transferred with MIME type text/html
-
HTML5新特性之type=file文件上传功能
-
jQuery操作 input type=checkbox的实现代码
-
PHP中mysql_field_type()函数用法
-
Csla One or more properties are not registered for this type
-
C++数据类型(data type)介绍
-
layui type2 通过url给iframe子页面传值的例子
-
魅族Type-C游戏专用线发布:直角设计/5A大电流 仅49元
-
HTML5 input新增type属性color颜色拾取器的实例代码
-
一图看懂:小米GaN充电器Type-C 65W