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是完全一样的

  • 相关阅读:
    .Net Core主机配置
    .NET Core 初识
    控制反转IOC,依赖注入DI理解
    依赖倒置原则解析,理解面向抽象编程
    工厂模式
    IOC 概念
    利用Comparator排序
    使用Integer类实现二叉树排序
    先按成绩由高到低,相等则按年龄由低到高
    对象销毁之前进行某些操作
  • 原文地址:https://www.cnblogs.com/xiaohai2003ly/p/8509762.html
Copyright © 2011-2022 走看看