我是靠谱客的博主 聪明斑马,最近开发中收集的这篇文章主要介绍python 动态加载类,类似java的class.forName,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import importlib

importlib是import的python实现

1、获取模块对象

m1 = importlib.import_module("sites.sites_pybuild")

print(m1)

输出:

<module 'sites.sites_pybuild' from 'D:Documents and Settingsbinliuworkspacesbp_2.0sitessites_pybuild.py'>


2、获取类对象

aclass = getattr(m1, "sites_pybuild")

print(aclass)

输出:

<class 'sites.sites_pybuild.sites_pybuild'>


3、实例化对象

p = aclass("test")

相当于直接使用p = sites.sites_pybuild.sites_pybuild("test")


下面的文章也可以实现反射,主要思想是先导入module,然后使用globals()["classname"]获得类定义,再使用此类定义来初始化对象。

http://blog.csdn.net/lokibalder/article/details/3459722


最后

以上就是聪明斑马为你收集整理的python 动态加载类,类似java的class.forName的全部内容,希望文章能够帮你解决python 动态加载类,类似java的class.forName所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部