python模块导入及导出

2023-09-05 14:21:35 浏览数 (1)

模块的作用

在Python中,模块是一种组织代码的方式,它允许你将相关的函数、类和变量封装在一个文件中,以便于代码的管理和复用。正确地导出和导入模块是编写清晰、可维护代码的重要组成部分。这篇将介绍如何正确地导出和导入Python模块,并写简单的示例来帮助理解。

模块创建

创建一个模块, 就是创建一个python文件, 文件中定义的变量, 函数以及类都是模块的一部分, 可以供其它模块导出重复使用

my_module.py

代码语言:javascript复制
# -*- coding: utf-8 -*-
# @Author: Mehaei
# @Date: 2023-08-15 22:06:00
# @Last Modified by: Mehaei
# @Last Modified time: 2023-08-15 22:31:11
# my_module.py

def Hello(name):
    """
    :param name: name
    """
    return f"Hello, {name}!"


message = "Welcome to my module"

模块导出使用

导出格式

# 导入模块 import 模块 # 导入模块起一个别名, 文件内的代码可以使用别名使用功能代码 import 模块 as 别名 # 导入模块中的单个功能函数 from 模块 import 函数 # 导入模块中的所有函数(注意: 不推荐, 原因举例说明) from 模块 import *

模块使用

main.py

代码语言:javascript复制
# -*- coding: utf-8 -*-
# @Author: Mehaei
# @Date: 2023-08-15 22:06:40
# @Last Modified by: Mehaei
# @Last Modified time: 2023-08-15 22:15:20
# main.py


import my_module
import my_module as mm
# 以下两种方式导入都能正常使用Hello, message功能
# 但是如果是import *, 到后续代码调试起来, 不够简洁明了, 
# 更会有覆盖原功能的代码的情况出现, 所以不推荐
# from my_module import *

from my_module import Hello, message


print(Hello("Alice")) # 输出:Hello, Alice!
print(message) # 输出:Welcome to my module

print(mm.Hello("MMAlice")) # 输出:Hello, MMAlice!
print(mm.message) # 输出:Welcome to my module


print(my_module.Hello("my_moduleAlice")) # 输出:Hello, my_moduleAlice!
print(my_module.message) # 输出:Welcome to my module

模块测试代码

实际开发中很多时候, 需要调试一下写的模块功能, 但是如果直接写在代码流程中进行代码调用或调试, 那么当别的代码导入该模块时, 这部分代码块也会执行, 所以在文件底部就可以使用 __name__ 来实现:

格式: if __name__ == '__main__': 测试代码

my_module.py 文件中加入以下代码

代码语言:javascript复制
# 来看看__name__是什么
print("__name__=", __name__)


if __name__ == "__main__":
    print(message)

直接运行 my_module.py 文件输出:

代码语言:javascript复制
__name__= __main__
Welcome to my module
[Finished in 0.1s]

运行 main.py 文件输出

代码语言:javascript复制
__name__= my_module
[Finished in 0.0s]

所以调试可以使用__name__来进行, 在实际开发中, 随着项目的不断完善和新增功能, 代码会越来越多, 代码量上来了, 就要想办法将项目进行拆分, 这样可以避免重复写一些冗余的代码, 也便于维护项目, 将工作的重心放在功能实现上. 好了, 今天就到这里吧~~

0 人点赞