当前位置:首页>python>Python入门必看:Python函数基础精讲(上篇)

Python入门必看:Python函数基础精讲(上篇)

  • 2026-09-29 22:06:28
Python入门必看:Python函数基础精讲(上篇)
我是 Jerry,一个正在学 Python 的普通人。
函数是 Python 编程的核心基础,也是代码复用、逻辑简化的关键工具。本篇从函数概述、基础使用、参数类型、匿名函数四个维度,用最通俗的语言+全新示例,带你轻松掌握函数基础。

1. 函数概述

1.1 为什么使用函数

在编写代码时,我们经常会遇到一些问题:

  • 代码重复编写,冗余度高

  • 后期修改功能时,需要改动多处,维护成本高

  • 代码可读性差,别人不容易理解

函数就是解决这些问题的最佳方案:

  • 本质:对特定功能的代码进行封装

  • 核心:一次定义,多次调用,避免重复造轮子

函数的优点:

  • 简化代码结构,提升开发效率

  • 提高代码复用性,减少重复代码

  • 增强代码可读性与可维护性

  • 功能模块化,便于分工开发

💡 开发建议:但凡涉及独立功能,优先使用函数实现。


1.2 认识函数

我们通过一个简单需求,直观认识函数:

需求:计算圆的面积公式:S = πr²

# 导入数学模块,获取圆周率import math# 定义计算圆面积的函数def circle_area(r):return math.pi*r*r

1.3 定义函数

Python 中使用 def 关键字定义函数,这是固定语法规范。

标准语法:

def 函数名(参数1, 参数2, ...):"""函数说明文档(可选)"""函数体return 返回值# 可选

语法说明:

组成部分说明
def关键字,define 的缩写,表示定义函数
函数名遵循标识符命名规则,见名知意
()固定格式,包裹参数列表
形参函数定义时的参数,本质是变量,可空
函数体封装的功能代码
return返回结果给调用者,无返回值默认返回 None

⚠️ 注意:函数必须先定义,后调用,调用不能在定义上方。

# 错误示例:调用在定义前# test()  # 报错:name 'test' is not defineddef  test():print("你好!")

1.4 函数调用

函数定义后不会自动执行,必须调用才会运行。

调用格式:函数名()

# 定义函数def test():print("hello python!")# 调用函数test()test()test()

调用规则:

  • 函数定义后不调用不执行

  • 必须先定义,后调用

  • 一个函数可以被多次调用

  • 同名函数,后面定义的会覆盖前面的


2. 使用函数

根据参数、返回值、定义方式,函数可分为多种类型:

  • 内置函数 / 自定义函数

  • 无参函数 / 有参函数

  • 有名函数 / 匿名函数

  • 无返回值函数 / 有返回值函数


2.1 无参数的函数

适用于功能固定,不需要外部数据的场景:

# 定义无参函数def greet():print("欢迎学习 Python 函数!")# 调用greet()

输出:

欢迎学习 Python 函数!

2.2 有参数的函数

需要接收外部数据参与运算,分为形参和实参:

  • 形参:函数定义时的参数

  • 实参:函数调用时传入的参数

# 定义:a、b 是形参def add_num(a, b):print(a+b)# 调用:10、20 是实参add_num(10, 20)add_num(55, 45)

输出:

30100

2.3 无返回值的函数

函数执行完成后,不向外返回数据,默认返回 None:

# 无返回值函数def say_hello():print("你好,我是无返回值函数!")# 调用result=say_hello()# 打印返回值,结果为 Noneprint(result)

输出:

你好,我是无返回值函数!None

2.4 有返回值的函数

使用 return 关键字向外返回数据,支持返回单个 / 多个值:

# 1. 返回单个值def get_info():return"我是有返回值的函数"# 接收返回值res=get_info()print(res)# 2. 返回多个值(自动封装为元组)def get_multi_data():print("开始执行函数")return10, 20, 30# return 下方代码不会执行print("执行结束")data=get_multi_data()print(data)  # (10, 20, 30)# 3. 空 return,返回 Nonedef empty_return():returnprint(empty_return())  # None

输出:

我是有返回值的函数开始执行函数(10, 20, 30)None

return 核心规则:

  • 可以返回 1 个或多个数据,多个数据以元组形式返回

  • return 执行后,函数立即结束,后续代码不执行

  • 无 return 或空 return,默认返回 None


2.5 函数嵌套调用

函数之间可以相互调用,形成嵌套执行关系:

# 函数嵌套调用def func1():func2()print("执行函数1")def func2():func3()print("执行函数2")def func3():print("执行函数3")# 调用最外层函数func1()

输出:

执行函数3执行函数2执行函数1

执行顺序:func1 → func2 → func3 → 打印函数3 → 打印函数2 → 打印函数1


2.6 函数中的参数

参数是函数与外部数据交互的桥梁:

  • 形参:定义函数时的参数,接收数据

  • 实参:调用函数时的参数,传递数据

  • 传参:实参给形参赋值的过程

# 定义函数:num1、num2 为形参def get_max(num1, num2):if num1>num2:return num1else:return num2# 调用函数:18、35 为实参max_num=get_max(18, 35)print(max_num)

输出:

35

2.7 参数的类型

① 必需参数(位置参数)

调用函数时,必须按照顺序、数量传参,否则报错:

def student_info(name, age):print(f"姓名:{name},年龄:{age}")# 正确传参student_info("小明", 18)# 错误传参:顺序/类型不匹配# student_info(18, "小明")

输出:

姓名:小明,年龄:18

② 关键字参数

通过参数名传参,顺序可以任意调整:

def student_info(name, age):print(f"姓名:{name},年龄:{age}")# 关键字传参,顺序无关student_info(age=20, name="小红")

输出:

姓名:小红,年龄:20

③ 默认参数

定义函数时给参数设置默认值,调用时可省略该参数:

# num2 设置默认值 10def get_sum(num1, num2=10):print(num1+num2)# 不传 num2,使用默认值get_sum(20)# 传参,覆盖默认值get_sum(20, 30)

输出:

3050

⚠️ 注意:默认参数必须放在参数列表最后面。


④ 不定长参数(可变参数)

处理不确定数量的参数,分为两种:

  • *args:接收任意数量位置参数,封装为元组

  • **kwargs:接收任意数量关键字参数,封装为字典

# *args:接收多个位置参数def func_args(*args):print(args)func_args(1, 2, 3, "Python", True)# **kwargs:接收多个关键字参数def func_kwargs(**kwargs):print(kwargs)func_kwargs(name="小刚", age=22, city="上海")

输出:

(1, 2, 3, 'Python', True){'name': '小刚', 'age': 22, 'city': '上海'}

3. 匿名函数

使用 lambda 关键字创建一行式简易函数,无需定义函数名,称为匿名函数。

特点:

  • 仅为单行表达式,语法简洁

  • 自带返回值,无需写 return

  • 适合简单逻辑,不适合复杂功能

语法:lambda 参数列表: 表达式

# 普通函数:计算平方def square(n):return n**2print(square(4))# 匿名函数实现相同功能lambda_square=lambda n: n**2print(lambda_square(4))# 多参数匿名函数add=lambda a, b: a+bprint(add(10, 20))

输出:

161630

本篇总结

知识点核心内容
函数的作用代码复用、简化结构、提升可维护性
函数四要素def、函数名、参数、return
基础分类无参/有参、无返回值/有返回值、嵌套调用
参数类型必需参数、关键字参数、默认参数、不定长参数
匿名函数lambda 快速定义简单函数,一行搞定

下篇继续讲解函数进阶:变量作用域、递归函数、实战项目应用,教你如何封装自己的代码。


关注「AI 学习成长记」,我踩过的坑你别再踩。

最新文章

随机文章