如果说数据类型是Python的“积木”,那函数就是搭建程序的“模板”。函数的核心作用:代码复用、简化逻辑、结构化程序、减少冗余

一、什么是函数?

1. 函数概念

函数是组织好的、可重复使用的、实现特定功能的代码块

简单理解:把一段经常使用的代码打包起来,起个名字,以后想用直接调用,不用重复写代码。

2. 函数分类

  • 内置函数:Python自带,直接使用,如 print()、len()、input()、sum()

  • 自定义函数:自己根据业务需求封装的函数(本文重点)

3. 函数优势

  • 代码复用:一次定义,多次调用

  • 代码简洁:减少大量重复冗余代码

  • 便于维护:功能统一封装,修改只需改一处

  • 逻辑清晰:程序模块化,可读性极强

二、函数的定义与调用(基础核心)

1. 函数语法格式

def 函数名(参数列表):
    # 函数体:实现功能的代码
    # return 返回值
  • def:定义函数的关键字,必须写

  • 函数名:自定义,遵循变量命名规则(下划线、字母、数字,不能数字开头)

  • return:返回函数执行结果,可选

2. 无参无返回值函数

最简单的函数,只执行固定逻辑,不需要传参、不需要返回结果。

# 1. 定义函数
def hello():
    print("欢迎学习Python函数!")
    print("零基础入门超简单")

# 2. 调用函数
hello()
hello()
hello()

3. 有参数函数

可以接收外部传入的数据,让函数通用性更强。

# 定义带参数的函数:实现两数相加
def add_num(a, b):
    print(f"{a} + {b} = {a + b}")

# 调用函数,传入实参
add_num(10, 20)
add_num(50, 30)

4. 有返回值函数

return 可以将函数运算结果返回,供外部代码使用

def add_num(a, b):
    res = a + b
    # 返回结果
    return res

# 接收函数返回值
result = add_num(15, 25)
print("两数之和为:", result)

函数执行到 return 会直接结束函数,return 后的代码不会执行。

三、函数五大参数类型(重点+难点)

参数是函数的核心,Python函数一共5种参数形式,掌握后可以应对所有开发场景。

1. 位置参数(必选参数)

调用函数时,实参顺序、数量必须和形参一致

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

# 位置传参,一一对应
user_info("张三", 20)
user_info("李四", 22)

2. 关键字参数

调用时通过 形参名=值 传参,顺序可以打乱

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

# 关键字传参,顺序无关
user_info(age=25, name="王五")

3. 默认参数

定义函数时给参数设置默认值,调用时不传参则使用默认值。

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

# 不传age,使用默认值18
user_info("小明")
# 传参则覆盖默认值
user_info("小红", 20)

4. 可变位置参数 *args

接收任意多个位置参数,最终打包为元组

def sum_all(*args):
    print("接收的参数:", args)
    return sum(args)

print(sum_all(1, 2, 3))
print(sum_all(10, 20, 30, 40, 50))

5. 可变关键字参数 **kwargs

接收任意多个关键字参数,最终打包为字典

def info(**kwargs):
    print("关键字参数字典:", kwargs)

info(name="张三", age=20, gender="男")
info(score=99, height=180)

四、函数返回值详解

1. 无return返回值

函数没有写 return,默认返回 None

def test():
    print("无返回值函数")

res = test()
print(res)  # None

2. 返回单个值

最常用场景,返回一个运算结果

3. 返回多个值

return 可以返回多个值,默认封装为元组

def calc(a, b):
    add = a + b
    sub = a - b
    mul = a * b
    return add, sub, mul

res = calc(10, 5)
print(res)       # (15, 5, 50)
# 多变量解包接收
x, y, z = calc(20, 10)
print(x, y, z)

五、函数嵌套

在一个函数内部定义另一个函数,称为函数嵌套。

def outer():
    print("===== 外层函数执行 =====")
    # 内层函数
    def inner():
        print("----- 内层函数执行 -----")
    # 外层调用内层
    inner()

outer()

六、变量作用域(全局变量 & 局部变量)

1. 局部变量

定义在函数内部,仅函数内有效,函数执行结束自动销毁。

2. 全局变量

定义在函数外部,整个文件都可使用。

3. global 关键字(修改全局变量)

# 全局变量
num = 100

def change_num():
    # 声明使用全局变量
    global num
    num = 200
    print("函数内修改后:", num)

change_num()
print("函数外全局变量:", num)

七、总结

1. 函数核心:代码复用、模块化编程,是从入门到项目开发的必经之路;

2. 函数结构:def 定义 + 函数体 + return 返回值;

3. 五大参数:位置参数、关键字参数、默认参数、*args可变参数、**kwargs可变关键字参数;

4. 返回值支持单个、多个、无返回值(默认None);

5. 变量分全局、局部,global关键字可在函数内修改全局变量。

至此,Python 字符串、列表、字典、函数四大基础核心全部更新完毕!后续继续更新高阶函数、文件操作、异常处理等教程,欢迎点赞收藏关注!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐