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

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.dtcms.com/a/209932.html

相关文章:

  • I.MX6ULL_Linux_系统篇(26) buildroot分析
  • 南京邮电大学《智能控制技术》期末抢救(上)
  • 高可用集群keepalived
  • 01_07小结
  • queue和priority_queue及其函数
  • 【438. 找到字符串中所有字母异位词】
  • Python训练营---Day34
  • 【昇腾开发者训练营:Dify大模型部署实战】MindIE + Dify + DeepSeek + Embedding模型 + Rerank模型
  • springboot集成日志配置文件
  • 信息学奥赛及各种程序设计竞赛中常见的名词解释
  • 通过contenteditable实现仿豆包智能输入框
  • 生成模型——PixelRNN与PixelCNN
  • 常见算法题目2 - 给定一个字符串,找出其中最长的不重复子串
  • MySQL慢日志——动态开启
  • (15)关于窗体的右键菜单的学习与使用,这关系到了信号与事件 event
  • 《C 语言内存函数超详细讲解:从 memcpy 到 memcmp 的原理与实战》
  • vue——v-pre的使用
  • 安装openEuler操作系统
  • 强者的本质是什么?
  • Leetcode 2792. 计算足够大的节点数
  • mysql语句执行流程
  • Femap许可证升级说明
  • LTSPICE仿真电路:(二十九)T型反馈比例器
  • VirtualBox 4.3.10 经典版安装教程 - Windows 7/10 下载与设置指南
  • ASUS华硕ROG枪神9P笔记本G815LP(G615LW,G635LR,G835LX)原装出厂Win11系统,开箱状态oem系统
  • CAU人工智能class4 批次归一化
  • leetcode3434. 子数组操作后的最大频率-medium
  • JavaSE核心知识点03高级特性03-01(集合框架)
  • docker镜像操作
  • 什么是Express