当前位置: 首页 > news >正文

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

一、python 模块

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

1.导入模块

在这里插入图片描述
导入模块 代码;
-import 模块名
-import 模块名 as 别名
-from 模块名 import 功能名
-from 模块名 import 功能名 as 别名
-from 模块名 import *

# 导入模块import random as rdfor i in range(100):print(rd.randint(1, 100))

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

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

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

二、自定义模块

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

代码:

#常量
PI = 3.1415926
NAME = "NAME常量"# 函数def log_separator1():print("- " *30) #重复输出def log_separator2():print("+ " *30)def log_separator3():print("# " *30)def log_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.1415926
NAME = "NAME常量"# 函数def log_separator1():print("- " *30) #重复输出def log_separator2():print("+ " *30)def log_separator3():print("# " *30)def log_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. 导入模块中的功能  ;绝对路径 :从项目根目录查找, 相对路径: 从当前文件所在目录开始查找 ,写法from utils.my_fun import log_separator1,log_separator3log_separator1()
log_separator3()

init.py

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

my_fun.py

def log_separator1():print("- " *30) #重复输出def log_separator2():print("+ " *30)def log_separator3():print("# " *30)def log_separator4():print("* " *30)

my_var.py

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

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

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

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

http://www.jsqmd.com/news/299578/

相关文章:

  • 亲测好用9个一键生成论文工具,助本科生轻松写论文!
  • 为什么您的机房必须选择本地化 U 位资产管理系统?供应商服务深度解析
  • 人群仿真软件:Vadere_(3).用户界面操作
  • 人群仿真软件:Vadere_(1).Vadere简介与安装
  • 人群仿真软件:Vadere_(2).Vadere基本操作与界面
  • AI原生应用领域:思维树带来的变革
  • 免费工艺流程模板下载_在线编辑建筑/汽车/物流工艺流程图图表
  • 亲测好用!8个AI论文平台测评,研究生毕业论文必备
  • 第三十四周 学习周报
  • 提升效率:如何为企业挑选完美的RFID解决方案
  • 智能座舱:汽车内饰的交互革命
  • 学校教室多功能布局平面图在线设计的实用技巧和方法
  • 柔性生产:小批量定制与大规模生产的完美融合
  • LoRA微调的指标
  • 循环经济在不同行业的应用前景比较
  • 【避坑指南】Listing 莫名被限流?可能是图片里的“中文残留”害了你!揭秘 AI 如何实现 100% 深度清洗
  • 为什么标准化要用均值0和方差1?
  • 状态仅适用于类组件,或者使用 React 的 Hook 时可以在函数组件中使用。
  • 人群仿真软件:Vadere_(5).仿真场景设计
  • 【技术解析】为什么 Google 翻译搞不定电商图?揭秘 AI Inpainting 技术如何实现“无痕”图片翻译
  • 人群仿真软件:Vadere_(6).Vadere中的障碍物设置
  • 【Python自动化】不懂代码怎么批量修图?这款 AI 工具把“脚本思维”封装成了傻瓜式软件!
  • 【SAA】SpringAI Alibaba学习笔记(二):提示词Prompt - 详解
  • Java 核心语法精讲:注释、标识符、关键字与数据类型
  • 2026 追番日记
  • 文明
  • 详细介绍:Linux的目录结构
  • Python核心语法-(一)Python解释器、Python注释 - 努力-
  • STM32 + FreeRTOS 长期可维护架构:写给那些不敢重构的工程师
  • 人群仿真软件:SimWalk_(20).人群仿真在零售业中的应用