Python函数入门:9 大核心知识点 + 实战案例,从定义到调用全掌握 – 小白编程笔记

Python函数入门是零基础学Python的必经之路,也是从「写零散代码」到「编规范程序」的关键一步。简单说,函数就是把重复用的代码打包成一个“小工具”,随用随调,不用反复写。这篇文章从零讲透函数的定义、调用、参数、返回值,每一个知识点都配了可直接运行的代码、详细注释和新手避坑指南,零基础也能一看就会,练完就能上手写规范Python代码。

Python函数入门 函数核心概念与使用优势示意图

图1:Python函数入门 – 函数核心概念与使用优势

一、先搞懂:什么是Python函数?为啥一定要学?

初学Python时,大家都会写一行行零散的代码,但如果要反复实现同一个功能(比如计算加法、打印信息),每次都重写太麻烦了。函数就是解决这个问题的核心方法——把实现特定功能的代码封装成一个独立的代码块,给它起个名字,之后只要调用这个名字,就能执行里面的所有代码,这就是函数的本质,也是Python函数基础的核心逻辑。

  • 省时间:一次编写无限复用,不用反复敲重复代码,效率直接翻倍
  • 易维护:代码出问题只改函数内部,不用在整篇代码里找来找去
  • 清结构:一个函数管一个功能,程序逻辑一目了然,不杂乱
  • 好协作:团队开发时每人写自己的函数,拼起来就能组成完整程序

二、Python函数基础:最基础的定义与调用,写第一个函数

Python定义函数有固定格式,核心就用def关键字,记住「def + 函数名 + 括号 + 冒号 + 缩进代码块」这个公式,再用「函数名+括号」调用,这是函数入门的第一个必学知识点,新手照猫画虎就能会。

1. 无参数、无返回值:最入门的函数写法

适合实现固定功能,不用传数据,也不用获取计算结果,直接执行就行,新手先从这个练手,熟悉定义和调用的流程。

# Python函数入门:第一个入门函数,直接复制就能运行
# 定义函数:def 函数名():  注意冒号不能丢,代码要缩进4个空格(Tab键)
def say_hello():
    # 函数内部的代码,缩进4个空格
    print("你好,我是Python函数!")
    print("学会我,写代码就能省一半功夫~")

# 调用函数:函数名()  只有调用,函数里的代码才会执行
# 很多新手定义完不调用,导致代码没反应,这是第一个要避开的坑!
say_hello()

2. 函数执行的3个核心步骤,新手必懂

很多新手定义完函数,运行后发现没任何反应,就是因为没搞懂执行流程,记住这3步,再也不会踩这个基础坑。

  • 定义阶段:写def+函数名的代码,只是把函数“存进电脑内存”,不会执行里面的print、计算等操作
  • 调用阶段:写函数名(),程序才会跳转到函数内部,按顺序执行里面的每一行代码
  • 执行完毕:函数里的代码执行完,程序会回到调用的位置,继续执行后面的代码

Python函数入门 函数定义与调用执行流程图解

图2:Python函数入门 – 定义与调用核心执行流程

三、Python函数基础:带参数的函数,让函数更灵活

无参数的函数只能干固定的事,实际开发中我们需要函数处理不同的数据,这时候就需要参数——参数就是函数的“输入口”,调用时把数据传进去,函数就能根据传入的数据执行不同操作,这是Python函数入门的核心知识点。

1. 单个参数:给函数传一个数据

# 括号里的name就是参数,相当于一个“占位符”,接收外部传入的数据
def greet(name):
    # 用f-string格式化输出,把传入的name拼进字符串
    print(f"你好,{name}!欢迎学习Python函数入门知识")

# 调用时,括号里写实际要传的数据(实参),替换占位符
# 传不同的名字,函数会输出不同的结果,这就是参数的作用
greet("小明")
greet("小红")
greet("零基础学Python的小伙伴")

2. 多个参数:给函数传多个数据

多个参数用逗号分隔,调用时按顺序传值就行,适合需要多份数据才能实现的功能(比如加减乘除、打印个人信息)。

# a和b是两个参数,接收外部传入的两个数字
def add(a, b):
    # 计算a+b的结果,直接打印
    print(f"{a} + {b} = {a + b}")

# 按顺序传入多个数据,一一对应参数位置
# 第一个数对应a,第二个数对应b,顺序不能乱
add(10, 20)
add(3, 7)
add(5.5, 4.5)  # 支持小数,Python会自动识别数据类型

四、Python函数基础:return返回值,获取函数的计算结果

前面的函数都是直接打印结果,实际开发中我们需要把函数的计算结果存起来,后续再用(比如用加法结果继续做乘法),这时候就需要return关键字——它是函数的“输出口”,把计算结果返回给调用者,这是函数入门的必学重点。

核心注意:函数执行到return会立即停止,后面的代码再也不会执行,新手一定要注意这个细节!

# Python函数入门:带返回值的加法函数
def add(a, b):
    # 用return返回计算结果,不直接打印,方便后续使用
    return a + b
    # return后面的代码不会执行,写了也白写,新手别浪费时间
    print("这句话永远不会被打印")

# 用变量接收返回值,后续可以反复使用这个结果
result1 = add(10, 20)
result2 = add(3, 7)

print("第一次计算结果:", result1)
print("第二次计算结果:", result2)
print("两次结果相加:", result1 + result2)  # 用返回值继续做计算,这就是return的意义

五、Python函数基础:2种传参方式,位置参数+关键字参数

调用带参数的函数时,有两种传参方式,适合不同的开发场景,学会后能有效避免传参错误,让代码更易读,这是Python函数入门的实用技巧。

1. 位置参数:默认的传参方式,按顺序传

最常用的方式,调用时的实参与定义时的形参位置一一对应,第一个实参对应第一个形参,第二个对应第二个,绝对不能乱序。

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

# 位置参数:第一个值对应name,第二个对应age,顺序不能错
info("小明", 18)
# 乱序会导致结果错误,新手千万别踩这个坑
# info(18, "小明")  # 会输出:姓名:18,年龄:小明,明显不符合逻辑

2. 关键字参数:指定参数名传,不用管顺序

传参时写「参数名=值」,明确告诉函数哪个值对应哪个参数,顺序可以任意调换,适合参数比较多的场景,避免记混顺序。

# 关键字参数:参数名=值,顺序可任意调换,可读性更高
info(age=20, name="小红")
info(name="小李", age=19)

# 位置参数和关键字参数可以混用(核心规则:位置参数必须在前)
info("小张", age=22)

六、Python函数基础:默认参数,简化重复场景的调用

如果某个参数在大部分情况下都是固定值,就可以给它设置默认参数——调用时不传这个参数,函数就用默认值;需要个性化时再传值覆盖,能大幅简化重复场景的函数调用,这是Python函数入门的高频技巧。

核心规则:默认参数必须放在非默认参数的末尾,否则会直接报语法错误,这是新手的高频坑!

# Python函数入门:默认参数示例
# country="中国"是默认参数,必须放在非默认参数name、age后面
def info(name, age, country="中国"):
    print(f"姓名:{name},年龄:{age},国家:{country}")

# 不传country,自动使用默认值「中国」,简化调用步骤
# 大部分用户都是中国的,不用每次都传国家,非常方便
info("小明", 18)
info("小张", 22)

# 传country,覆盖默认值,实现个性化需求(比如外国用户)
info("Jack", 22, "美国")
info("Lisa", 20, "英国")

# 错误写法:默认参数不能放在非默认参数前面
# def info(country="中国", name, age):  # 直接报SyntaxError,新手别写

Python函数入门 位置参数 关键字参数 默认参数 核心区别对比表

图3:Python函数入门 – 三种基础参数类型核心区别对比

七、Python函数基础:进阶参数,*args与**kwargs(接收任意参数)

实际开发中,我们有时不知道函数需要接收多少个参数(比如计算任意多个数字的和、打印任意多的个人信息),这时候就需要可变参数——*args和**kwargs,能接收任意数量的参数,让函数更灵活,是Python函数入门的进阶知识点,学会后能处理更多场景。

1. *args:接收任意多个位置参数,打包成元组

args是arguments的缩写,前面加*,能接收任意数量的位置参数,函数内部会把这些参数自动打包成一个元组,用for循环就能遍历使用。

# Python函数入门:*args接收任意位置参数,实现任意数字求和
def sum_all(*args):
    total = 0
    # 遍历元组args,累加所有传入的数字
    # args是元组,支持for循环、索引等所有元组操作
    for num in args:
        total += num
    return total

# 可以传任意多个参数,多少个都可以,函数都能处理
print(sum_all(1, 2, 3))          # 传3个参数,输出6
print(sum_all(10, 20, 30, 40))   # 传4个参数,输出100
print(sum_all(5, 6, 7, 8, 9))    # 传5个参数,输出35
print(sum_all())                 # 不传参数也可以,返回0

2. **kwargs:接收任意多个关键字参数,打包成字典

kwargs是keyword arguments的缩写,前面加**,能接收任意数量的关键字参数,函数内部会把这些参数自动打包成一个字典(key是参数名,value是参数值)。

# Python函数入门:**kwargs接收任意关键字参数,打印任意信息
def print_info(**kwargs):
    # 遍历字典kwargs,打印所有键值对
    # kwargs是字典,支持所有字典操作,比如get()、keys()等
    for key, value in kwargs.items():
        print(f"{key}:{value}")

# 可以传任意多个关键字参数,多少个都可以
print_info(name="小明", age=18, city="北京")
print_info(name="小红", age=20, city="上海", grade="三年级")
print_info()  # 不传参数也可以,不会打印任何内容

八、Python函数基础:综合实战,写一个四则运算小工具

结合上面学的所有知识点,我们写一个「四则运算小工具」,封装加、减、乘、除四个函数,实现任意两个数的四则运算,把定义、调用、参数、返回值全用起来。练完这道题,Python函数入门的基础就彻底掌握了,能独立写简单的函数工具了。

# Python函数入门:四则运算实战案例,可直接复制运行
# 定义四个函数,分别实现加减乘除,都带返回值
def add(a, b):
    # 加法:返回a+b的结果
    return a + b

def sub(a, b):
    # 减法:返回a-b的结果
    return a - b

def mul(a, b):
    # 乘法:返回a*b的结果
    return a * b

def div(a, b):
    # 做除法时,判断除数是否为0,避免程序报错,新手必加的判断
    if b == 0:
        return "错误:除数不能为0"
    # 除法:返回a/b的结果
    return a / b

# 定义两个测试数字,调用函数验证效果
a = 20
b = 5
# 调用函数,打印结果,用f-string格式化输出,更美观
print(f"{a} + {b} = {add(a, b)}")
print(f"{a} - {b} = {sub(a, b)}")
print(f"{a} × {b} = {mul(a, b)}")
print(f"{a} ÷ {b} = {div(a, b)}")

# 测试除数为0的情况,验证异常处理效果
print(f"10 ÷ 0 = {div(10, 0)}")

九、Python函数基础:5个高频易错点,新手一次性避开

整理了Python函数入门阶段,新手最容易踩的5个坑,每个坑都标了原因和具体解决方法,看完这些,再也不会因为这些基础问题报错,节省调试时间。

坑1:只定义函数,不调用,代码永远不执行

很多新手写完def定义函数的代码,就以为会自动执行,结果运行后没任何反应。解决方法:定义完必须写「函数名()」主动调用,函数里的代码才会执行。

坑2:参数个数不匹配,直接触发TypeError

定义函数时指定了2个无默认值参数,调用时只传1个或多传1个,都会直接报错。解决方法:无默认值参数,传参个数必须和定义时完全一致。

坑3:return后面写代码,完全无效

函数执行到return会立即终止,后面的代码再写也不会执行,纯纯浪费时间。解决方法:把所有要执行的代码都写在return前面。

坑4:默认参数放在非默认参数前面,报语法错

这是Python的硬性语法规则,默认参数不能放在非默认参数前面,写了就报错。解决方法:定义函数时,先写无默认的参数,再写有默认的参数。

坑5:位置参数和关键字参数混用,位置参数在后

混用传参时,如果把位置参数写在关键字参数后面,会直接报语法错。解决方法:位置参数永远写在前面,关键字参数写在后面。

Python函数入门 延伸学习推荐

想深入了解官方语法,可看Python官方函数定义文档;学完函数基础,可继续看我的往期文章Python输入输出与格式化技巧,把函数和输入输出结合起来练手;后续还会更新函数进阶内容:递归、作用域、lambda表达式,关注我不迷路~

Python函数入门:核心知识点速记,看完就能用

  • 定义函数:def 函数名(参数): + 缩进代码块,冒号和缩进不能丢,这是Python的语法要求
  • 调用函数:函数名(实参),只有主动调用,函数里的代码才会执行
  • 参数类型:位置参数(按序传)、关键字参数(指定名传)、默认参数(放末尾,可省略)
  • 返回值:return 把计算结果返回,执行后立即终止函数,后面代码不执行
  • 可变参数:*args 收任意位置参数(打包成元组),**kwargs 收任意关键字参数(打包成字典)
  • 核心原则:参数个数匹配、默认参数放末尾、return前写完整代码、位置参数在前关键字参数在后

本文是Python零基础入门系列的第10篇核心文章,专门讲解Python函数入门基础。更多新手能直接上手的Python教程,可看往期内容:
Python输入输出与格式化技巧
Python变量与变量名全解析
Python数据类型实战练习

本文为「小白编程笔记」原创 · Python函数入门篇
版权声明:本文所有内容(含代码、文字、图片)均为原创,未经授权禁止转载、抄袭、洗稿
如需转载,请联系作者获取授权,且必须在正文开头标注原文链接和作者信息!
下一篇预告:Python函数进阶——递归、作用域、lambda匿名函数!

文章标签:
Python函数入门
Python零基础
Python入门
Python函数
Python参数
*args **kwargs
Python编程

发表评论

滚动至顶部
渝公网安备50022402001073号  |  渝ICP备2026004448号   © 2026 小白编程笔记