news 2026/4/25 4:34:03

Python核心语法-Python自定义模块、Python包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python核心语法-Python自定义模块、Python包

一、python 模块

Python模块(module):一个Python文件(.py)就是一个模块,模块是Python程序的基本组织单位。在模块中可以定义变量、函数、类,以及可执行的代码。

1.导入模块


导入模块 代码;
-import 模块名
-import 模块名 as 别名
-from 模块名 import 功能名
-from 模块名 import 功能名 as 别名
-from 模块名 import *

# 导入模块importrandomasrdforiinrange(100):print(rd.randint(1,100))

总结:
1.什么是模块?有什么用?
模块:就是一个Python文件(.py),其中就包含了变量、函数、类,以及可执行的代码。
作用:提高代码复用性,降低开发门槛。

2.导入模块的常用语法?

  • import 模块名 [ as 别名]
  • from 模块名 import 功能名 [ as 别名]
  • from 模块名 import *

二、自定义模块

当开发一些复杂的项目,为了让项目结构更清晰,更便于项目的为负管理 及 代码的复用,可能会把一个项目拆分为若干个模块。
每一个Python文件都可以作为一个模块,模块的名字就是文件的名字。

代码:

#常量PI=3.1415926NAME="NAME常量"# 函数deflog_separator1():print("- "*30)#重复输出deflog_separator2():print("+ "*30)deflog_separator3():print("# "*30)deflog_separator4():print("* "*30)#测试函数# __name__ :python 中内置变量,表示的当前模块的名字(直接运行当前模块, 值为 __main__,当该模块被导入时,__name__ 的值就是模块名字,my_fun)# __main__ :当前模块的名字#print(__name__)if__name__=="__main__":log_separator1()#log_separator1()

1)name变量用法

if__name__=="__main__":log_separator1()

2)all用法
all是一个模块级别的特殊变量,用于指定 from 模块名 import * 是会导入那些功能(*通配了那些功能)。

# 指定 from ... import * 导入的是那些功能#__all__ = ["log_separator1", "log_separator3", "PI"]__all__=["log_separator1","log_separator3","PI"]#常量PI=3.1415926NAME="NAME常量"# 函数deflog_separator1():print("- "*30)#重复输出deflog_separator2():print("+ "*30)deflog_separator3():print("# "*30)deflog_separator4():print("* "*30)#测试函数# __name__ :python 中内置变量,表示的当前模块的名字(直接运行当前模块, 值为 __main__,当该模块被导入时,__main__ 的值就是模块名字,my_fun)if__name__=="__main__":log_separator1()#from my_fun improt * __all__

总结:

name与__all__ 2个特殊变量 的作用是什么?

  • name是Python中非常重要的内置变量,表示的是当前模块的名称。
    当模块直接运行时:__name__的值为"main"。
    当模块被导入时:__name__等于模块的文件名(不含.py后缀)。
  • all:控制import * 导入哪些功能。

三、python软件包package

包:本质就是一个文件夹,该文件夹中可以包含若干python模块(.py文件),文件夹下还包含了一个__init__.py。
作用:模块文件较多时,用来管理多个模块。(包的本质也是一个模块)。

包的导入方式:

包下的模块,导入模块:
示例代码:
21.packge.py

# 1. 导入模块# import utils.my_fun## utils.my_fun.log_separator1()# utils.my_fun.log_separator1()# 2.导入模块# from utils import my_fun# my_fun.log_separator1()# 3.导入模块 #注意 需要在 __init__.py 文件中添加 __all__ = ["log_separator1"]# from utils import *# my_fun.log_separator1()# my_fun.log_separator2()## print(my_var.PI)# print(my_var.NAME)# 4. 导入模块中的功能 ;绝对路径 :从项目根目录查找, 相对路径: 从当前文件所在目录开始查找 ,写法fromutils.my_funimportlog_separator1,log_separator3 log_separator1()log_separator3()

init.py

# 描述包信息__version__='1.0.0'__author__='Kong'__all__=["my_fun","my_var"]

my_fun.py

deflog_separator1():print("- "*30)#重复输出deflog_separator2():print("+ "*30)deflog_separator3():print("# "*30)deflog_separator4():print("* "*30)

my_var.py

#常量PI=3.1415926NAME="NAME常量"

总结:
1.什么是包,有什么作用。
包就是一个文件夹,里面可以存储很多Python模块(py文件),通过包可以对模块进行归类。

2.init.py文件的作用。
标识这是一个包,而不是普通的文件夹。
控制在improt * 时导入的模块列表(__all__变量)
3.导入包的方式。

import 包名.模块名
from 包名 import 模块名
from 包名 import *
from 包名.模块名 import *功能名
from 包名.模块名 import *

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 23:42:57

微信读书助手wereader:让阅读更高效的笔记管理工具

微信读书助手wereader:让阅读更高效的笔记管理工具 【免费下载链接】wereader 一个功能全面的微信读书笔记助手 wereader 项目地址: https://gitcode.com/gh_mirrors/we/wereader 你是否曾在微信读书中收藏了上百本书,却找不到真正想读的那本&…

作者头像 李华
网站建设 2026/4/25 4:33:22

通义千问3-14B物流行业:运单信息提取系统部署教程

通义千问3-14B物流行业:运单信息提取系统部署教程 1. 为什么物流场景特别需要Qwen3-14B? 你有没有遇到过这样的情况:每天收到几百份PDF或图片格式的运单,要手动把发货人、收货人、单号、货物类型、重量、运费这些信息一条条复制…

作者头像 李华
网站建设 2026/4/25 4:32:20

BERT开源模型实战:打造专属中文智能写作助手

BERT开源模型实战:打造专属中文智能写作助手 1. BERT 智能语义填空服务 你有没有遇到过写文章时卡在一个词上,怎么都想不出最合适的表达?或者读到一句古诗,隐约记得下文却始终想不起来?现在,借助开源的 B…

作者头像 李华
网站建设 2026/4/25 4:33:20

智能桌面助手UI-TARS:提升办公效率的5大实战技巧

智能桌面助手UI-TARS:提升办公效率的5大实战技巧 【免费下载链接】UI-TARS-desktop A GUI Agent application based on UI-TARS(Vision-Lanuage Model) that allows you to control your computer using natural language. 项目地址: https://gitcode.com/GitHub_…

作者头像 李华
网站建设 2026/4/24 23:45:30

超小参数大惊喜!ERNIE 4.5轻量模型极速文本生成

超小参数大惊喜!ERNIE 4.5轻量模型极速文本生成 【免费下载链接】ERNIE-4.5-0.3B-PT 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-0.3B-PT 百度ERNIE团队推出参数仅0.36B的轻量级文本生成模型ERNIE-4.5-0.3B-PT,在保持ERNIE 4…

作者头像 李华
网站建设 2026/4/24 12:55:20

2.8B参数Kimi-VL-Thinking:视觉推理新突破

2.8B参数Kimi-VL-Thinking:视觉推理新突破 【免费下载链接】Kimi-VL-A3B-Thinking 项目地址: https://ai.gitcode.com/MoonshotAI/Kimi-VL-A3B-Thinking 导语 Moonshot AI推出Kimi-VL-A3B-Thinking模型,以仅2.8B激活参数实现与大参数量模型相媲…

作者头像 李华