python函数--python010

发布于:2025-08-08 ⋅ 阅读:(73) ⋅ 点赞:(0)

函数

—— 掌握 Python 编程核心结构的关键一步


一、函数的基本概念与作用

1.1 什么是函数?

函数(Function)是具有特定功能的代码块,通过定义一次,可以重复调用。在 Python 中,函数是组织代码、封装逻辑、提高代码复用性的重要工具。

函数的语法结构:
def 函数名([参数列表]):
    函数体
    [return 返回值]
  • def 是关键字,表示定义函数;

  • 函数名 要符合命名规则,最好能体现功能;

  • 参数列表 是函数的输入接口;

  • return 是输出接口,可选。

1.2 函数的优势
  • 模块化开发:将代码逻辑拆分为不同功能模块;

  • 提高复用性:定义一次,用于多处;

  • 便于维护和调试

  • 逻辑清晰,可读性强。


二、自定义函数第一步:基础练习与参数使用

2.1 无参函数
def greet():
    print("Hello, Python!")

调用方式:

greet()
2.2 有参函数:以求因数为例
def get_factors(n):
    for i in range(1, n+1):
        if n % i == 0:
            print(i)

调用示例:

get_factors(10)  # 输出 1, 2, 5, 10
2.3 返回值
def get_factors_list(n):
    return [i for i in range(1, n+1) if n % i == 0]

调用:

factors = get_factors_list(12)
print(factors)

三、自定义函数第二步:参数的多样化设计

3.1 位置参数

参数按顺序传递:

def user_info(name, age):
    print(f"姓名:{name}, 年龄:{age}")

user_info('Tom', 25)
3.2 关键字参数

参数名=值形式传参,顺序可以不一致:

user_info(age=18, name='John')
3.3 默认值参数

函数可以为参数设置默认值:

def user_info(name='Unknown', age=18):
    print(f"姓名:{name}, 年龄:{age}")

user_info()  # 使用默认值
user_info('Alice', 22)
3.4 不定长参数 *args**kwargs
  • *args 接收多个 位置参数,以元组形式传入

  • **kwargs 接收多个 关键字参数,以字典形式传入

def show_info(*args, **kwargs):
    print("位置参数:", args)
    print("关键字参数:", kwargs)

show_info(1, 2, 3, name='Tom', age=18)

四、函数的进阶用法(扩展内容)

4.1 返回多个值
def min_max(numbers):
    return min(numbers), max(numbers)

min_val, max_val = min_max([2, 7, 1, 9])
4.2 嵌套函数
def outer():
    def inner():
        print("内部函数")
    inner()
4.3 匿名函数(Lambda 表达式)

适合快速定义简单函数,一般用于函数式编程:

square = lambda x: x * x
print(square(5))  # 输出 25
4.4 函数作为参数传递
def operate(x, y, func):
    return func(x, y)

result = operate(10, 5, lambda a, b: a + b)

五、函数的作用域与命名空间

5.1 局部变量与全局变量
x = 10  # 全局变量

def change():
    x = 5  # 局部变量
    print("函数内:", x)

change()
print("函数外:", x)
5.2 使用 global 修改全局变量
x = 10

def change():
    global x
    x = 5

change()
print(x)  # 输出 5
5.3 nonlocal 用于嵌套函数
def outer():
    x = "outer"
    def inner():
        nonlocal x
        x = "inner"
    inner()
    print(x)  # 输出 inner

六、函数在现代 Python 开发中的实际应用

6.1 函数与模块化开发

将函数保存到 .py 文件中,通过 import 导入使用,适合大型项目:

# utils.py
def greet(name):
    print(f"Hello, {name}!")

# main.py
from utils import greet
greet('Alice')
6.2 函数与面向对象结合

类中定义的方法本质也是函数:

class Person:
    def __init__(self, name):
        self.name = name
    
    def say_hello(self):
        print(f"Hello, I’m {self.name}")
6.3 函数与装饰器(Decorator)

装饰器本质是函数嵌套函数,用于增强原函数功能:

def logger(func):
    def wrapper(*args, **kwargs):
        print("函数开始执行")
        result = func(*args, **kwargs)
        print("函数结束执行")
        return result
    return wrapper

@logger
def add(x, y):
    return x + y

七、练习与扩展建议

7.1 基础练习题
  1. 编写函数判断一个数是否为质数

  2. 编写函数实现 Fibonacci 数列前 n 项

  3. 编写函数统计一段文本中每个单词出现的频率

7.2 应用实战练习
  1. 封装一个商品管理系统的增删改查函数

  2. 使用函数完成图像识别中的批量处理模块

  3. 模拟学生成绩分析系统,包含多函数结构和参数传递


八、总结

函数是 Python 编程语言中不可或缺的组成部分。从最基本的函数定义与调用,到参数的多样化设计,再到高阶函数、嵌套函数、装饰器等进阶技术,函数贯穿了 Python 的核心编程思维。掌握函数不仅能提高代码组织能力和复用性,更是走向大型项目开发、数据分析、Web 编程、AI 应用的第一步。


网站公告

今日签到

点亮在社区的每一天
去签到