Python打卡训练营day30-库的导入
知识点回顾:
- 导入官方库的三种手段
- 导入自定义库/模块的方式
- 导入库/模块的核心逻辑:找到根目录(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())