函数

函数

函数的概念

  • 用于描述一个独立的功能模块
  • 可自定义定义,也可重复调用
  • 是代码复用和逻辑抽象的核心手段

函数的定义

  • 函数定义后,函数名可绑定到新的名字(函数是一等对象)
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 代码结构化的核心。

posted @ 2026-03-23 10:49  RReally  阅读(1)  评论(0)    收藏  举报
//一下两个链接最好自己保存下来,再上传到自己的博客园的“文件”选项中