python函数--python010
函数
—— 掌握 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 = 10def change():global xx = 5change()
print(x) # 输出 5
5.3 nonlocal
用于嵌套函数
def outer():x = "outer"def inner():nonlocal xx = "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 = namedef 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 resultreturn wrapper@logger
def add(x, y):return x + y
七、练习与扩展建议
7.1 基础练习题
编写函数判断一个数是否为质数
编写函数实现 Fibonacci 数列前 n 项
编写函数统计一段文本中每个单词出现的频率
7.2 应用实战练习
封装一个商品管理系统的增删改查函数
使用函数完成图像识别中的批量处理模块
模拟学生成绩分析系统,包含多函数结构和参数传递
八、总结
函数是 Python 编程语言中不可或缺的组成部分。从最基本的函数定义与调用,到参数的多样化设计,再到高阶函数、嵌套函数、装饰器等进阶技术,函数贯穿了 Python 的核心编程思维。掌握函数不仅能提高代码组织能力和复用性,更是走向大型项目开发、数据分析、Web 编程、AI 应用的第一步。