当前位置: 首页 > 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解释器的目录和终端的目录不一致)

相关文章:

  • 【电动汽车充电系统核心技术全解:从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分隔符
  • 音著协宣布胜诉,虎牙公司终审被判侵权
  • 著名文学评论家、原伊犁师范学院院长吴孝成逝世
  • 武汉警方通报一起故意伤害案件:1人死亡,嫌疑人已被抓获
  • 左手免费午餐右手花开岭,邓飞14年公益之路的中国贡献
  • 西藏普兰县公安局网安大队向自媒体人宣传网络安全知识
  • 九江银行落地首单畜牧业转型金融业务,助推传统农业绿色智能