【Python】import模块的多种操作
创始人
2024-01-17 01:34:03

前言

记录一下关于Python在导入模块时候一些操作~

知识点📖📖

Python魔法方法:__all__
Python内置模块:importlib

实现

指定导出的变量

当你在使用 from xxx import * 时候,可以通过 __all__ 来指定可被导出的变量
虽然 from xxx import * 极其不优雅,但如果在编程中定义了许多变量的话,那导入还是令人头疼的

项目组织如下:

demo_package/__init__.pya.pyb.py

a.py

def say_hi():print('hi')def say_hello():print('hello')# 只导出 say_hi 方法
__all__ = ['say_hi']

b.py

from a import *say_hi()
say_hello()

程序b.py 执行如下所示:

  • 如不指定导出的变量,是无法调用的。

在这里插入图片描述

优雅的导包

在package里,如果有多个文件,这时候需要导入这些文件的变量,
可以通过在__init__.py 中里填写需要导入的变量,从而使得可以根据 package 名称导入变量,使得代码更加优雅

项目组织如下:

demo_package/__init__.pya.pyb.py

a.py

def func_a():....

b.py

def func_b():....

__init__.py 填写以下内容

__init__.py

from .a import func_a
from .b import func_b

一般的导入是

from demo_package.a import func_a
from demo_package.b import func_b

而做了上述修改之后,导入这些变量的代码如下:

from demo_package import func_a
from demo_package import func_b

重新加载模块

在生产环境中,应该是用不上这个功能;
但如果是在调试时候,这个功能还是挺好用的。因为当你修改了你的代码后,可以通过重新加载模块就立即生效,而不用等待下一次执行再生效。

# 导入模块
import module"""中间你对module 做了修改"""# 重新导入模块
importlib.reload(module)

字符串导入模块

通过字符串来导入模块,这个功能我是找不到应用场景~
只是觉得有趣,就记录一下!!

通过字符串导入模块.py

import importlibmodule_name = importlib.import_module('module_name')

简单示例.py

import importlibdef create_func(_str: str):return importlib.import_module(_str)func = create_func('math')
print(func.__name__)
print(func.sin(2))

output:

math
0.9092974268256817

后话

怎么样,用不上的知识又增加了吧!!
本次分享到此结束,🐱‍🏍🐱‍🏍
see you~


上一篇:标志

下一篇:无知无所畏惧

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...