Python模块案例如何导入使用

wen python案例 25

本文目录导读:

Python模块案例如何导入使用

  1. 基本导入方式
  2. 自定义模块
  3. 包(Package)导入
  4. 实际案例
  5. 有条件导入
  6. 最佳实践
  7. 检查模块位置

我来介绍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模块导入的主要用法,选择哪种方式取决于你的具体需求和代码组织方式。

抱歉,评论功能暂时关闭!