python创建类实例方法_python动态创建类实例方法

本文介绍了如何在Python中动态创建类实例,包括使用`__import__`和`getattr`函数,以及通过`Activator`类封装创建过程。示例代码展示了如何通过类全名创建实例,并提供了相关阅读链接。
摘要由CSDN通过智能技术生成

python动态创建类实例方法

发布于 2014-09-23 20:35:32 | 128 次阅读 | 评论: 0 | 来源: 网友投递

Python编程语言Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

本文为大家讲解一种python可以动态的创建类的实例的方法,感兴趣的同学参考下.

Python中要创建一个类的实例,要首先导入该类或者该类所属的模块。

例如:

import mymodule

myobject = mymodule.myclass()

或者

from mymodule import myclass

myobject = myclass()

如果要在程序中动态地创建类实例,也一样要分两步走,例如:

m = __import__('mymodule')

c = getattr(m, 'myclass')

myobject = c()

但是要注意:如果myclass并不在mymodule的自动导出列表中(__all__),则必须显式地导入,例如:

m = __import__('mymodule', globals(), locals(), ['myclass'])

c = getattr(m, 'myclass')

myobject = c()

若要封装的规范一些,可以这样来做:

Code

class Activator:

'''本类用来动态创建类的实例'''

@staticmethod

def createInstance(class_name, *args, **kwargs):

'''动态创建类的实例。

[Parameter]

class_name - 类的全名(包括模块名)

*args - 类构造器所需要的参数(list)

*kwargs - 类构造器所需要的参数(dict)

[Return]

动态创建的类的实例

[Example]

class_name = 'knightmade.logging.Logger'

logger = Activator.createInstance(class_name, 'logname')

'''

(module_name, class_name) = class_name.rsplit('.', 1)

module_meta = __import__(module_name, globals(), locals(), [class_name])

class_meta = getattr(module_meta, class_name)

object = class_meta(*args, **kwargs)

return object

相关阅读:

python动态创建类实例方法

Python中动态创建类实例的方法

Python类的动态修改的实例方法

python实现在sqlite动态创建表的方法

python动态加载变量方法

python动态参数用法实例分析

全面了解python中的类,对象,方法,属性

Python实现动态添加类的属性或成员函数的解决方法

python中的实例方法、静态方法、类方法、类变量和实例变量详解

Python中的对象,方法,类,实例,函数用法分析

python通过定义一个类实例作为ftp回调方法

python 动态获取当前运行的类名和函数名的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值