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

Day 32模块和库的导入

常见的第三方库:

导入库的三种手段:

1.导入整个库

# 方式1:导入整个模块 import math print("方式1:使用 import math") print(f"圆周率π的值:{math.pi}") print(f"2的平方根:{math.sqrt(2)}\n")

2.从库中导入特定的项

# 方式2:导入特定的函数或变量 from math import pi, sqrt print("方式2:使用 from math import pi, sqrt") print(f"圆周率π的值:{pi}") print(f"2的平方根:{sqrt(2)}\n")

3.非标准导入整个库

from math import * print(f"圆周率π的值:{pi}") print(f"2的平方根:{sqrt(2)}")

包与模块的定义:

包是 Python 中组织多个模块的目录结构,本质上是一个包含__init__.py文件的文件夹,Python 3.3+ 后__init__.py可以为空,甚至省略,但为了兼容性建议保留,用于识别该目录是一个包。包的核心作用是分层管理模块,把功能相关的多个模块归到同一个目录下,让代码结构更清晰。

包的结构如下:

my_tools/ # 这是一个包(文件夹) __init__.py # 包的标识文件(可空) calculator.py # 子模块:计算相关 string_utils.py # 子模块:字符串处理相关

包的使用:

# main.py # 方式1:导入包中的具体模块 from my_tools import calculator, string_utils print(calculator.add(10, 20)) # 输出 30 print(string_utils.reverse_str("hello")) # 输出 olleh # 方式2:直接导入模块中的函数/类 from my_tools.calculator import Circle from my_tools.string_utils import reverse_str circle = Circle(3) print(circle.area()) # 输出 28.27431 print(reverse_str("python")) # 输出 nohtyp

模块本质上就是一个以.py为后缀的 Python 文件,这个文件里可以包含变量、函数、类、语句等任意 Python 代码。模块的核心作用是代码复用和命名空间隔离—— 把功能相关的代码放在一个文件里,既方便重复调用,也避免不同功能的代码变量 / 函数名冲突。

模块的结构:

# calculator.py(模块文件) PI = 3.14159 def add(a, b): """加法函数""" return a + b class Circle: """计算圆的面积""" def __init__(self, radius): self.radius = radius def area(self): return PI * self.radius **2

模块的使用:

# main.py import calculator # 导入整个模块 print(calculator.PI) # 访问模块中的变量,输出 3.14159 print(calculator.add(2, 3)) # 调用模块中的函数,输出 5 circle = calculator.Circle(5) print(circle.area()) # 调用模块中的类方法,输出 78.53975

不同目录下模块的导入:

1.`main.py` 和 `circle.py` 都在同一目录

# main.py from circle import calculate_area # 或者: import circle (然后用 circle.calculate_area) radius = 5 area = calculate_area(radius) print(f"半径为 {radius} 的圆,面积是: {area}")
#在项目根目录的同一子目录下 # model/main.py from circle import calculate_area # 或者: import circle (然后用 circle.calculate_area) radius = 5 area = calculate_area(radius) print(f"半径为 {radius} 的圆,面积是: {area}")

运行对应的文件直接在终端运行对应的 python main.py / python model/main.py

2.`main.py`在根目录,`circle.py`在子目录

# main.py from model.circle import calculate_area # 或者: from model import circle (然后用 circle.calculate_area,因为此时你是导入了整个模块) radius = 5 area = calculate_area(radius) print(f"半径为 {radius} 的圆,面积是: {area}")

运行:pyhton main.py

而`circle.py`在根目录,`main.py`在子目录

from circle import calculate_area # 或者: import circle (然后用 circle.calculate_area) radius = 5 area = calculate_area(radius) print(f"半径为 {radius} 的圆,面积是: {area}")

运行:pythom -m model/main.py

@浙大疏锦行

http://www.cnnetsun.cn/news/74983.html

相关文章:

  • 1、雾无线接入网络:5G 及 6G 通信的新范式
  • 卫星轨道预测终极指南:5步掌握SGP4模型核心应用
  • 中国科学技术大学学位论文LaTeX模板完整指南
  • 16、雾无线接入网络中的计算卸载与原型设计
  • 18、雾无线接入网络(F-RAN):原型、性能评估与未来挑战
  • Snakemake中的样本配对与文件处理
  • 工业防水平板电脑WPPC-H1520T(P)在食品加工湿环境中的部署与应用开发实践
  • 探索数字组合的艺术
  • Shiny模块化开发:解决Tab选中问题
  • AutoGPT与SQLite轻量数据库集成:适用于小型项目的本地存储方案
  • Jenkins Pipeline调用LLama-Factory训练任务,实现无人值守AI训练
  • 中小学教育AI工具开发:架构师的数据主权方案
  • 如何快速上手 Harepacker-resurrected:从入门到精通的完整指南
  • 百万 Token 也能无损压缩?C3 模型用“级联压缩”重新定义长上下文挑战
  • GOBI 2025 全球开源商业创新大会顶级嘉宾阵容公开!4 大 Panel 火力全开
  • 安卓私密文件同步终极方案:Syncthing-Android完全指南
  • AutoClicker鼠标自动化工具:新手完全指南与实战技巧
  • 鸿蒙原子化服务新玩法:Flutter也能开发高性能Service卡片
  • 8 个 MBA 毕业答辩 PPT 工具,AI 格式优化推荐
  • 如何快速实现STL转STEP:面向3D设计新手的完整指南
  • 图神经网络:欺诈检测与蛋白质功能预测
  • ComfyUI与Mosquitto MQTT代理集成:物联网场景适配
  • 7、脚本编程中的代码片段与替代语法技巧
  • 15、使用 AWK 总结日志
  • ComfyUI插件生态盘点:提升效率的必备扩展推荐
  • 程序员爆哭!我们让 COCO AI 接管 GitLab 审查后,团队直接起飞:连 CTO 都说“这玩意儿比人靠谱多了
  • 交通信号仿真软件:Synchro_(14).Synchro与其他软件的集成
  • 交通信号仿真软件:Vistro_(1).Vistro软件介绍
  • 交通信号仿真软件:Vistro_(4).交通网络建模
  • 微软将影响在线服务的第三方漏洞纳入奖励计划