zoukankan      html  css  js  c++  java
  • python 用type()创建类

    type()可以查看一个类型,也可以查看变量的类型

    class Hello1(object):
    def hello(self, name = 'world'):
    print('Hello, %s' % name)

    h1 = Hello1()
    h1.hello()
    print(type(Hello1))
    print(type(h1))

    输出:

    Hello, world
    <class 'type'> #Hello是一个class, 它的类型就是type
    <class '__main__.Hello1'> #h1是一个实例,它的类型就是class Hello1

    type()函数既可以返回一个对象的类型,也可以创建出新的class,如用type()函数创建出Hello类而无需通过class Hello(object):

    def fn(self, name = 'world'): #先定义一个函数
    print('Hello, %s' % name)

    Hello = type('Hello', (object, ), dict(hello=fn)) #创建Hello class,传入class的名称,继承的父类集合class的方法名与函数绑定,这里我们把fn绑定到hello上

    h = Hello()
    h.hello()
    print(type(Hello))
    print(type(h))

    输出:

    Hello, world
    <class 'type'>
    <class '__main__.Hello'>

    要创建Hello calss, 需要给type()传入3个参数:

    1. class的名称,

    2. 继承的父类集合,注意Python支持多重继承,如果只有一个父类,别忘了tuple的单元素写法

    3. class的方法名称与函数绑定,这里我们是把fn绑定到方法名hello上

    用type()创建的class和直接写class是完全一样的

  • 相关阅读:
    探寻京东云核心竞争力的源泉
    在线公开课 | 教你如何自行搭建一个威胁感知大脑?
    推迟学习系统调用
    linux中未实现的系统调用
    man(2) V
    man(2) W
    图像叠加
    man(2) readv writev
    qt 视频播放
    ffmpeg参数
  • 原文地址:https://www.cnblogs.com/xiaohai2003ly/p/8509762.html
Copyright © 2011-2022 走看看