函数
函数
函数的概念
- 用于描述一个独立的功能模块
- 可自定义定义,也可重复调用
- 是代码复用和逻辑抽象的核心手段
函数的定义
- 函数定义后,函数名可绑定到新的名字(函数是一等对象)
def add_fun(x):
return x + 3
lmy = add_fun
print(lmy(10)) # 输出:13
# 覆盖绑定(新名字变为普通变量)
lmy = 1
# lmy(10) → 报错:int不可调用
函数的调用
- 调用方式与 C++ 类似,通过「函数名 (参数)」执行函数体
- 调用时完成实参到形参的绑定,执行完毕返回结果
参数传递的其他方式
1.默认按位置逐一匹配实参和形参
def qwq(num, denom):
return num / denom
print(qwq(1, 3)) # 输出:0.3333333333333333(num=1,denom=3)
2.按照参数名进行传递(关键字参数),参数顺序可任意
def qwq(num, denom):
return num / denom
print(qwq(denom=3, num=1)) # 输出:0.3333333333333333
3.允许定义函数时指定参数默认值,调用时可省略该参数
def lmy(x=3):
return x
print(lmy()) # 输出:3(使用默认值)
print(lmy(5)) # 输出:5(覆盖默认值)
4.可变长位置参数(*args):接收任意个数位置参数,打包为元组
def my_print(first, *args):
print(first)
print(args)
my_print(1, 2, 3) # 输出:1 (2, 3)
5.可变长关键字参数(**kwargs):接收任意个关键字参数,打包为字典
def my_print(**kwargs):
for k, v in kwargs.items():
print(f"{k} = {v}")
my_print(a=1, b=2) # 输出:a = 1 b = 2
函数返回值
- !!!支持返回单个值,也可返回多个值(自动打包为元组)
def calc(x, y):
return x+y, x-y # 多个返回值
sum_val, sub_val = calc(5, 3)
print(sum_val, sub_val) # 输出:8 2
函数嵌套调用
一个函数内部可调用另一个函数,实现逻辑分层
def square(x):
return x * x
def sum_square(a, b):
return square(a) + square(b)
print(sum_square(3, 4)) # 输出:25
一些函数特殊的技巧
文档字符串(DocString)
用于对函数功能、参数、返回值等进行说明,提升代码可读性
定义在函数体第一行,用单 / 双三引号包裹,支持多行编写
可通过 doc 属性或 help() 函数查看文档字符串内容
def calc(x, y):
"""
计算两个数的和与差
:param x: 第一个数字(int/float)
:param y: 第二个数字(int/float)
:return: 元组,第一个元素是和,第二个元素是差
"""
return x+y, x-y
# 查看文档字符串
print(calc.__doc__) # 输出函数的文档说明
help(calc) # 更友好的格式展示文档信息
类型注解
略
总结
函数核心是「功能封装」,支持定义、调用和灵活的名字绑定;
参数传递包含位置匹配、关键字、默认值、可变长四种核心方式;
函数支持多返回值和嵌套调用,是 Python 代码结构化的核心。

浙公网安备 33010602011771号