我是靠谱客的博主 淡然龙猫,最近开发中收集的这篇文章主要介绍python插件化设计importlib中的get_插件化开发与GUI开发,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#### 1.插件化开发思想

* 插件化开发是一种思想,考虑到程序功能的加载时机,用到的时候再加载;

* 插件化开发依赖的技术点有:

```

反射:判断对象是否存在某种功能;

动态导入:import;

多线程:使用线程完成对应的任务;

```

#### 2.插件化开发的好处

* 插件能够程序的功能多样性,用到时在加载,程序启动加快;

#### 3.importlib模块

```

# importlib.import_module(name, package=None): name为模块名称字符串,package当相对导入的时候,需要传递包名字符串

# other.py文件中写一个功能类

class Student:

def talk(self):

print('I am talking !')

# 在app.py程序入口模块中加载other.py模块的功能

import importlib

def get_plugin_obj(name: str):

str_module, _, str_class = name.partition('|')

module = importlib.import_module(str_module)

cls = getattr(module, str_class)

return cls()

if __name__ == '__main__':

obj = get_plugin_obj('other|Student')

obj.talk()

```

* Python提供了importlib包作为标准库的一部分,目的就是提供Python中import语句的实现;

* `importlib`允许程序员创建他们自定义的对象,可用于引入过程;

* `importlib`模块支持传入字符串来引入一个模块;

#### 4.Tkinter可视化开发组件

```

# 这里给大家看一个简单的示例程序

import tkinter

window = tkinter.Tk()

window.title = 'Student window'

window.geometry('600x400')

obj = tkinter.Label(window, text='This is for Tkinter', bg='yellow', font=('Arial', 30), width=20, height=20)

obj.pack()

window.mainloop()

```

* `Tkinter`模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口,`.Tk` 和`Tkinter`可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里;

* Tkinter 是 Python 的标准 GUI 库,Python 使用 Tkinter 可以快速的创建 GUI 应用程序;

* 因为Tkinter 是内置到 python 的安装包中,所以只要安装好 Python 之后就能直接使用import Tkinter;

参考:https://www.9xkd.com/user/plan-view.html?id=2434532965

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69908432/viewspace-2641881/,如需转载,请注明出处,否则将追究法律责任。

最后

以上就是淡然龙猫为你收集整理的python插件化设计importlib中的get_插件化开发与GUI开发的全部内容,希望文章能够帮你解决python插件化设计importlib中的get_插件化开发与GUI开发所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部