python 创建类_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
#Hello是一个class, 它的类型就是type
#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
要创建Hello calss, 需要给type()传入3个参数:
1. class的名称,
2. 继承的父类集合,注意Python支持多重继承,如果只有一个父类,别忘了tuple的单元素写法
3. class的方法名称与函数绑定,这里我们是把fn绑定到方法名hello上
用type()创建的class和直接写class是完全一样的
python 创建类_python 用type()创建类相关推荐
- python中的元类_python中的元类
类也是对象,但是类有创建对象的能力 动态创建一个类: classmonkey():defbanana(self):print 'banana!' defapple(self):print 'i wan ...
- python 类中定义类_Python中的动态类定义
python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...
- python class类_python中的class(类)
编码注释: 在源文件的第一行或第二行写入如下内容: # -*- coding:gbk -*- # 设置源文件编码格式为:gbk 或 # -*- coding:utf-8 -*- # 设置源文件编码格式 ...
- python元类_python中的元类 metaclass
python中的元类 metaclass 在python中,类(class)本身也是一个实例对象, 它的类型则是元类, 如果没有指明, 则自定义类的类型是type. 换言之, 我们所定义的普通类都是t ...
- python 什么是原类_Python 什么是元类(metaclasses)?
1.什么是类 在理解元类之前,我们必须先掌握Python中的类(class). 和大多数语言一样,Python中的类知识用来描述如何"生成一个对象": 但是,在Python中,类不 ...
- python中的元类_Python中的元类(metaclass)
提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自身有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理 ...
- python元类_Python基础:元类
一.概述 Python虽然是多范式的编程语言,但它的数据模型却是 纯面向对象 的.与那些仅在语法层面声称纯OO的编程语言(如Java)相比,Python的这种纯粹性更加深入骨髓. 在Python的世界 ...
- python如何创建一个类_python 3——自定义一个类、object类
1.如何创建一个类? __init__(self): self代表类的实例,而非类 类的方法:在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第 ...
- python如何创建一个类_python (知识点:类)简单的创建一个类
#!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Mon Nov 14 01:01:29 2016 ...
最新文章
- 不要只是为您的代码做些毛-用Prettier修复它
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- MySQL中interactive_timeout和wait_timeout的区别
- 【遗传优化BP网络】基于自适应遗传算法的BP神经网络的股票预测MATLAB仿真
- python float 精度_numpy.float128的内部精度是多少?
- Matlab语音采集与读写程序,基于MATLAB的语音信号录制采集和分析的程序设计
- 【JVM】通过javap命令分析Java汇编指令
- 理解 Python 中的异步编程
- Shiro学习(24)在线回话管理
- 写给 3 年内程序开发者的一封信
- Linux命令简介之xargs
- tp5在apache下能访问,但放到nginx下报404
- SSM+校园网上订餐系统 毕业设计-附源码211510
- 微信小程序——读取显示用户头像昵称
- 复习一波,hashMap的底层实现原理
- 深爱的妻子出轨(转贴)
- java过滤ios表情,JS前端去掉emoji表情和Java后台处理emoji表情方法
- CAD/CASS土地报备坐标数据提取插件txt报盘数据导出工具支持环岛地块
- thinkphp创建临时表
- CF785C (1600)