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

Python打卡训练营day30-库的导入

知识点回顾:

  1. 导入官方库的三种手段
  2. 导入自定义库/模块的方式
  3. 导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致)

作业:自己新建几个不同路径文件尝试下如何导入

官方库包括 Python 标准库和通过pip安装的第三方库,

# 方式1:直接导入整个模块
import math
print(math.sqrt(16))  # 4.0# 方式2:导入模块中的特定对象
from math import sqrt, pi
print(sqrt(25))  # 5.0
print(pi)        # 3.141592653589793# 方式3:给模块起别名(常用于长名称或避免命名冲突)
import numpy as np
import pandas as pd
arr = np.array([1, 2, 3])

自己的库,目前这里导入库的文件和被导入的文件都使用.py文件,会方便一点

同目录下导入一下28号的圆类

from day28 import Circlecir1 = Circle(2)
print(cir1.calculate_area())

12.566370614359172

导入子目录的库,这里似乎环境不同也可能会导致导入失败,环境真是最大的难题啊

from file1.square import Rectanglerec1 = Rectangle(4,5)
print(rec1.calculate_area())

上级目录导入麻烦一点,添加__init__.py文件将目录转换为包也仍无法正确导入,使用绝对路径避免报错,其他方式可能需要进行更多尝试找出报错原因


import sys
import os# 获取当前脚本的绝对路径,向上找两级到根目录(project/)
current_dir = os.path.dirname(os.path.abspath(__file__))
root_dir = os.path.dirname(current_dir)  # 定位到 project/
sys.path.append(root_dir)               # 添加根目录到路径# 绝对导入
from day28 import Circlec = Circle(3)
print(c.calculate_area())

http://www.xdnf.cn/news/8461.html

相关文章:

  • Mysql索引的数据结构
  • android设计——功能临时开启与永久管控
  • FastJson1.2.24反序列化原理
  • 【Hadoop】Hadoop 的入门概述
  • 光子计算落地里程碑:实验级OSS芯片实现MNIST高效分类,登顶《Nature》子刊
  • STM32基本定时器的启动和停止
  • 多维数据助力企业网络安全
  • questions and answers_1
  • GitHub 趋势日报 (2025年05月22日)
  • Gemini 2.5 Pro 一次测试
  • 高项公式英文解析记忆
  • 大模型量化与双重量化(2)-- 代码示例与解释
  • Neo4j入门第二期(Spring Data Neo4j的使用)
  • Oracle 的 MOVE 操作是否重建表?
  • 【学习笔记】Sophus (Python) 使用文档
  • C#调用第三方C++版本SDK过程
  • windows bat 在目录下(包括子目录)搜索批量指定文件名称复制到另一个文件夹内
  • ES6 新增 API 方法
  • ​​3D 几何建模工具库​Open CASCADE(OCCT)简单介绍。
  • 如何评估物联网框架的交互体验?
  • springboot SnailJob client(客户端) 启动失败
  • 机器学习与深度学习:区别与联系
  • 【数据集】全球首个10米分辨率精细分类土地覆盖数据集GLC_FCS10
  • 鸿蒙ArkTS-发请求第三方接口显示实时新闻列表页面
  • 带您了解工业级网络变压器的浪涌等级测试有哪些条件?
  • mysql底层数据结构
  • 怎么判断一个Android APP使用了React Native 这个跨端框架
  • 【Golang】部分语法格式和规则
  • matlab时间反转镜算法
  • 2025年电工杯A题第一版本Q1-Q4详细思路求解+代码运行