我的Python学习日志

Python函数与模块详解

一、函数基础

函数是组织代码的基本单元,用于封装可重用的代码块...

1. 函数定义与调用

# 定义函数
def greet(name):
    """返回个性化问候语"""
    return f"你好, {name}!"

# 调用函数
print(greet("张三"))  # 输出: 你好, 张三!

2. 参数类型

参数类型 示例 说明
位置参数 def add(a, b): 按参数位置顺序传递
关键字参数 add(b=3, a=2) 明确指定参数名
默认参数 def power(x, n=2): 参数默认值
可变参数 def sum(*numbers): 接收任意数量参数

二、函数高级特性

Python函数支持多种高级用法,提升代码灵活性...

1. 匿名函数(lambda)

# 创建匿名函数
square = lambda x: x ** 2
print(square(5))  # 输出: 25

# 在排序中使用
names = ['Alice', 'Bob', 'Charlie']
sorted_names = sorted(names, key=lambda x: len(x))

2. 闭包与装饰器

# 创建装饰器
def logger(func):
    def wrapper(*args, **kwargs):
        print(f"调用函数: {func.__name__}")
        return func(*args, **kwargs)
    return wrapper

# 使用装饰器
@logger
def add(a, b):
    return a + b

print(add(2, 3))  # 先输出日志,再返回结果

三、模块化编程

模块是组织Python代码的基本单位,支持代码复用...

1. 模块创建与导入

# 创建math_utils.py模块
def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n-1)

# 在main.py中使用
import math_utils
print(math_utils.factorial(5))  # 输出: 120

2. 标准库模块

3. 第三方模块

# 安装并导入requests
import requests

response = requests.get("https://api.example.com/data")
print(response.json())

四、包管理

包是包含多个模块的目录,使用__init__.py文件标识...

my_package/
├── __init__.py
├── module1.py
└── subpackage/
    ├── __init__.py
    └── module2.py
返回首页