python动态创建类_Python中通过参数动态创建扩展类(class)
class Bar:
def super_cool_function(self):
print("Cool")
1、利用Python闭包动态扩展类
通过在内部创建并从函数返回它来动态创建新类。
def get_class(superclass):
class Foo(superclass):
def __init__(self, ...):
...
return Foo
DynamicFoo = get_class(Bar)
myobj = DynamicFoo()
也可以更简单定义Foo类def get_class(superclass):
class Foo(superclass):
pass
return Foo
DynamicFoo = get_class(Bar)
myobj = DynamicFoo()
myobj.super_cool_function()
# Cool
2、通过type()动态创建类def fn(self,name="world"):
print("Hello,%s"%name)
Hello = type('Hello',(object,),dict(hello=fn))
h = Hello()
h.hello()
print(type(Hello))
print(type(h))
Hello,world
要动态创建一个class对象,type()函数依次传入3个参数:
1)class的名称,字符串形式;
2)继承的父类集合,注意Python支持多重继承,如果只有一个父类,注意tuple的单元素写法;
3)class的方法名称与函数绑定,这里我们把函数fn绑定到方法名hello上。
python动态创建类_Python中通过参数动态创建扩展类(class)相关推荐
- python open函数创建文件_python中怎样使用open创建文件?
我们在使用open函数的时候,一般用到的都是打开的功能,这和小伙伴们平常理解的名称意思是一致的.其实我们还可以使用open函数来创建一个file,也就是文本文件.在开始创建之前,我们需要对open函数 ...
- python dataframe去掉索引_python中pandas.DataFrame(创建、索引、增添与删除)的简单操作方法介绍...
这篇文章python中pandas.DataFrame(创建.索引.增添与删除)的简单操作方法介绍,其中包括创建.索引.增添与删除等的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看 ...
- python怎么创建变量_Python中通过函数对象创建全局变量
标签: 先看下面这段代码,显然无法work. 因为代码试图在TestVariableScope()中引用一个没有被定义的变量a.所以必须报错,如下图-1. 不过如果你将第2行代码注释掉.代码就能跑通了 ...
- python类_Python中的类
Python和Java都是面向对象的语言,对象从类中获取,类指的是同一类具有相同特征的事物,比如拉布拉多,柯基,哈士奇,它们都是狗,具有狗的相同特征,所以可以被归为一类Dog,Python中类的使用与 ...
- C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)
C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...
- python算法和数据结构_Python中的数据结构和算法
python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...
- PHP: 在类(class)中加载动态函数, 变量函数或半变量函数 variable function/method
最终实例在下方 以前用过cakephp, 他们的数据库查询还是蛮强大的, 后来好奇它的类的写法,比如: <?php $this->Post->findByTitle('My Firs ...
- C++提高部分_C++类模板中成员函数的创建时机---C++语言工作笔记089
然后我们再来看类模板中成员函数的创建时机是什么时候 可以看到,普通类中的成员函数一开始就可以创建了, 类模板中的成员函数在调用时才创建. 我们写个例子看看,可以看到我们写了一个Person1类,然后 ...
- python 类中定义类_Python中的动态类定义
python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...
最新文章
- C++关键字deprecated
- PHP算法 《树形结构》 之 伸展树(1) - 基本概念
- 分布式计算框架Gearman原理详解
- Android获取设备已安装的应用
- 元素周期表排列的规律_中考化学:金属活动性顺序表和元素周期表规律总结
- lucene索引搜索_Lucene –快速添加索引和搜索功能
- 系统已有MYSQL环境,如何安装宝塔面板
- 程序人家:你的老板逼你上微服务了吗??
- SilverLight明日起通过微软更新推送
- webView图片点击可以实现预览效果
- PHP汉字转换拼音的函数代码
- 华为 ---- ISIS 协议
- Matlab 图像平移、旋转、缩放、镜像
- 《SteamVR2.0/Input》(Yanlz+SteamVR+Input+OpenVR+Runtime+SteamVR_Action+立钻哥哥+==)
- java分数计算_分数计算java
- 产品标题什么时候进行优化,提高权重,标题优化的技巧方法
- SpringBoot整合Mybaits开发报java.lang.IllegalArgumentException: At least one base package must be specifie
- 为echarts的叠加柱状图设置颜色
- PHP获取唯一标识UUID
- arm汇编总结---让汇编不再神秘