上一篇
Python函数定义教程:从入门到精通 | Python函数语法详解
- Python
- 2025-07-15
- 630
Python函数定义教程:从入门到精通
函数是Python编程的核心概念之一,用于组织和重用代码。本教程将全面介绍Python函数的定义方法、参数传递、返回值以及高级用法。
函数定义基础
使用def
关键字定义函数的基本语法:
def function_name(parameters): """函数文档字符串""" # 函数体 return value
基本函数示例
def greet(name): """向指定名字的用户打招呼""" print(f"你好, {name}!") greet("张三") # 输出: 你好, 张三!
函数参数详解
1. 位置参数
最常见的参数传递方式,按顺序匹配参数:
def power(base, exponent): return base ** exponent result = power(2, 3) # 8 (2的3次方)
2. 默认参数
为参数提供默认值,调用时可省略:
def greet(name, greeting="你好"): print(f"{greeting}, {name}!") greet("李四") # 输出: 你好, 李四! greet("王五", "早上好") # 输出: 早上好, 王五!
3. 可变参数(*args)
接收任意数量的位置参数:
def sum_all(*args): total = 0 for num in args: total += num return total result = sum_all(1, 2, 3, 4) # 10
4. 关键字参数(**kwargs)
接收任意数量的关键字参数:
def person_info(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}") person_info(name="张三", age=30, city="北京") # 输出: # name: 张三 # age: 30 # city: 北京
返回值与作用域
返回多个值
Python函数可以返回多个值(实际上是元组):
def calculate(a, b): return a+b, a-b, a*b, a/b sum, diff, prod, quot = calculate(10, 5) print(sum) # 15 print(diff) # 5 print(prod) # 50 print(quot) # 2.0
变量作用域
理解局部变量和全局变量:
count = 10 # 全局变量 def increment(): global count # 声明使用全局变量 count += 1 increment() print(count) # 11
Lambda匿名函数
用于创建小型匿名函数,适用于简单操作:
# 基本lambda语法 square = lambda x: x ** 2 print(square(5)) # 25 # 在排序中使用lambda persons = [{'name': '张三', 'age': 30}, {'name': '李四', 'age': 25}, {'name': '王五', 'age': 35}] # 按年龄排序 sorted_persons = sorted(persons, key=lambda x: x['age']) print(sorted_persons) # 输出: [{'name': '李四', 'age': 25}, {'name': '张三', 'age': 30}, {'name': '王五', 'age': 35}]
函数最佳实践
1. 使用文档字符串(Docstrings)
def calculate_area(radius): """计算圆的面积 参数: radius (float): 圆的半径 返回: float: 圆的面积 """ import math return math.pi * radius ** 2
可以通过help(calculate_area)
查看文档
2. 类型提示(Type Hints)
Python 3.5+ 支持类型提示,提高代码可读性:
def add_numbers(a: int, b: int) -> int: """返回两个整数的和""" return a + b
总结
掌握Python函数定义是成为高效Python程序员的关键步骤:
- 使用
def
关键字定义函数 - 灵活使用各种参数类型:位置参数、默认参数、可变参数
- 使用
return
返回值,可返回多个值 - 合理使用全局变量和局部变量
- 简单函数可使用lambda表达式
- 编写文档字符串和类型提示提高代码可读性
本文由WangJiu于2025-07-15发表在吾爱品聚,如有疑问,请联系我们。
本文链接:http://pjw.521pj.cn/20255673.html
发表评论