Day37:插件化开发与GUI开发

本文探讨了Python中的插件化开发思想,强调了其在提升程序功能多样性和加速启动上的优势。同时,详细介绍了importlib模块,它是Python实现import语句的关键。此外,还讲解了Tkinter这一Python标准的GUI工具包,用于创建跨平台的图形用户界面,其内置特性使得开发者无需额外安装即可使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 工具包的接口,.TkTkinter可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里;

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值