本文目录导读:

我来介绍Python模块的几种导入和使用方法,从简单到复杂。
基本导入方式
标准库模块导入
# 导入整个模块 import math print(math.sqrt(16)) # 4.0 print(math.pi) # 3.14159... # 导入特定函数 from math import sqrt, pi print(sqrt(25)) # 5.0 print(pi) # 3.14159... # 导入并重命名 import datetime as dt now = dt.datetime.now() print(now) # 导入所有内容(不推荐) from math import * print(sin(0)) # 0.0
自定义模块
创建模块文件 mymodule.py
# mymodule.py
def greet(name):
return f"Hello, {name}!"
PI = 3.14159
class Calculator:
def add(self, a, b):
return a + b
导入自定义模块
# main.py
import mymodule
# 使用函数
print(mymodule.greet("Alice")) # Hello, Alice!
# 使用变量
print(mymodule.PI) # 3.14159
# 使用类
calc = mymodule.Calculator()
print(calc.add(5, 3)) # 8
包(Package)导入
创建包结构
my_package/
__init__.py
module_a.py
sub_package/
__init__.py
module_b.py
导入包中的模块
# 直接导入模块 import my_package.module_a my_package.module_a.func_a() # 从包中导入 from my_package import module_a module_a.func_a() # 导入子包中的模块 from my_package.sub_package import module_b module_b.func_b()
实际案例
案例1:文件处理
# 使用os和pathlib模块
import os
from pathlib import Path
# 获取当前目录
current_dir = os.getcwd()
print(f"当前目录: {current_dir}")
# 使用pathlib创建路径
data_path = Path("data") / "users.json"
print(f"数据文件路径: {data_path}")
# 检查文件是否存在
if data_path.exists():
print("文件存在")
案例2:数据处理
# 假设有自定义模块 data_utils.py
# data_utils.py
def load_data(filename):
"""加载数据文件"""
with open(filename, 'r') as f:
return f.readlines()
def process_data(data):
"""处理数据"""
return [line.strip() for line in data]
# 在另一个文件中使用
import data_utils
data = data_utils.load_data("info.txt")
processed = data_utils.process_data(data)
print(processed)
有条件导入
# 根据条件导入不同模块
try:
import numpy as np
print("NumPy可用,版本:", np.__version__)
except ImportError:
print("NumPy未安装")
# 使用替代方案
# Python版本判断导入
import sys
if sys.version_info >= (3, 10):
from collections import Counter
else:
print("请升级Python版本")
最佳实践
# 推荐的导入顺序 # 1. Python标准库 import os import sys import json # 2. 第三方库 import requests import pandas as pd # 3. 自定义模块 from mypackage import config from mypackage.utils import helper # 避免循环导入 # 如果模块A导入B,B又导入A,会导致错误
检查模块位置
import pandas # 查看模块文件位置 print(pandas.__file__) # 查看模块所有属性 print(dir(pandas)) # 查看模块文档 help(pandas.DataFrame)
这涵盖了Python模块导入的主要用法,选择哪种方式取决于你的具体需求和代码组织方式。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播