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

【python基础知识】Day30 模块和库的导入

学习python = 学习python基础语法 + 处理任务需要用到的库

一、导入官方库的三种手段

1 标准导入:导入整个库

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

2.从库中导入特定项

from math import pi, sqrtprint("方式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)}")

二、导入自定义库/模块的方式

1.模块,库的定义

模块(Module)

本质:以  .py  结尾的单个文件,包含Python代码(函数、类、变量等)。

作用:将代码拆分到不同文件中,避免代码冗余,方便复用和维护。

包(Package)——在python里,包就是库

本质:有层次的文件目录结构(即文件夹),用于组织多个模块和子包。

核心特征:包的根目录下必须包含一个 __init__.py 文件(可以为空),用于标识该目录是一个包。

2.使用方法

IDE(如 VSCode 或 PyCharm)通常会将你打开的项目文件夹设为“根目录”(或者说,运行时的工作目录)。Python 在导入模块时,会从这个根目录开始查找。

若编写一个计算圆面积的代码并保存为 circle.py,这个文件就是一个模块。

使用时通过 import circle 导入模块,调用其中的函数,如 circle.calculate_area(5)

场景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}")

场景2: `main.py` 和 `circle.py` 都在根目录的子目录 `model/` 下

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

场景3: `main.py` 在根目录,`circle.py` 在子目录 `model/` 下

# 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}")

导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致)

http://www.dtcms.com/a/199681.html

相关文章:

  • 【电动汽车充电系统核心技术全解:从can通讯高压架构到800V超充未来】
  • 星云智控v1.0.0产品发布会圆满举行:以创新技术重构物联网监控新生态
  • 亚信电子与联发科技携手打造AIoT新未来
  • 电脑闪屏可能的原因
  • FLASHDB API分析
  • 大陆资产在香港发行RWA的合规路径与核心限制
  • chrome浏览器无法登陆谷歌学术的解决方法
  • 深入理解蒙特卡洛树搜索(MCTS):python从零实现
  • 数据结构(二) 线性表
  • 解决服务器重装之后vscode Remote-SSH无法连接的问题
  • 大中型水闸安全监测系统解决方案
  • [Spring Boot]整合Java Mail实现Outlook发送邮件
  • VS2017编译librdkafka 2.1.0
  • 深入浅出程序设计竞赛(洛谷基础篇) 第十三章 二分查找与二分答案
  • OpenCV 环境搭建与概述
  • c/c++的opencv开闭操作
  • [Java实战]Spring Boot整合Kafka:高吞吐量消息系统实战(二十七)
  • WPF中的ObjectDataProvider:用于数据绑定的数据源之一
  • 软件设计师SQL考点分析——求三连
  • 界面组件DevExpress WPF中文教程:Grid - Bands分隔符
  • CAU数据库class2 SQL语言
  • win10 上删除文件夹失败的一个原因:sqlYog 备份/导出关联了该文件夹
  • AGI大模型(27):LangChain向量存储
  • Windows 下 Qt 项目配置 FFmpeg 简明指南
  • w~自动驾驶~合集3
  • 什么是漏洞管理?ManageEngine卓豪Vulnerability Manager Plus如何保护您的IT基础设施?
  • 【notes】VScode 使用总结
  • 0519Java面试题总结
  • c++字符串常用语法特性查询示例文档(二)
  • 【MySQL】使用文件进行交互