吃透Python函数从基础语法到实战技巧(最新推荐)

 更新时间:2026年01月15日 10:42:44   作者:F_leshy_  
文章介绍了Python函数的基础语法和进阶用法,包括函数的定义、调用、复用以及参数的灵活传递和返回值的处理,通过理解函数的概念和实践,可以编写更简洁、可维护的代码,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

在Python的编程世界里,函数是让代码变得模块化、可复用、易维护的核心工具。今天我就结合自己的学习笔记,带你从基础到进阶,彻底搞懂Python函数的方方面面。

一、为什么函数是Python程序员的“必修课”?

想象一下,如果没有函数,你每次计算圆的面积都要写一遍 3.14 * r * r,每次处理字符串都要重复写相同的判断逻辑。这样不仅代码冗余,还容易出错。

函数的本质,就是把一段实现特定功能的代码“打包”起来,起个名字,之后在需要的地方直接调用。它就像一个生产流水线:你输入原料(参数),它经过加工(函数体),最后输出产品(返回值)。

学会使用函数,你写的代码会变得更简洁,逻辑也更清晰。

二、函数的创建

1. 函数的定义

def  函数名(参数):
       代码块
       return 返回值

说明:

•  def是定义函数的专属保留字,不能省略或写错。

• 函数名的命名规则和变量一致(只能由字母、数字、下划线组成,不能以数字开头,区分大小写)。

• 参数可根据函数功能选择是否设置,即使定义了参数,调用时也可结合需求灵活传参(如默认参数、可变参数等)。

• 函数的代码块必须缩进,这是Python语法的强制要求。

• return用于返回结果,无返回需求时可省略,此时函数默认返回None。

def fun1():
    for i in range(10):
        print(i, end=" ")

注意:Python中函数仅定义不会执行内部代码,只有通过函数名()的方式调用函数,函数体的代码才会被执行。

2. 函数的调用

定义函数后,就可以通过 函数名(参数) 的方式调用它:

​def fun1():
    for i in range(10):
        print(i, end=" ")
fun1()

3.函数的复用

定义函数的最大优点在于如果需要经常使用某些功能,将这些功能创建成函数,在使用时只需要调用该函数即可,不需要重复编写复杂的代码块。

def fun3(n):
    b = 1
    for i in range(1, n+1):
        b = int(i)* b
    return b
b = fun3(7) + fun3(8) + fun3(9)
print(b)

4.Return返回值

• 返回数据到调用函数。

def fun2():
    ls = ['张三', '李四']
    a = len(ls)
    return a
print(fun2())

• 定义函数中不带return语句。当定义函数的代码块全部执行完毕后,调用函数的代码将默认按收到一个空值,即None。

def fun1():
    for i in range(10):
        print(i, end=' ')  # 循环打印0-9,end=' '让输出不换行
    # 函数未写return语句,默认返回None
print(fun1())  # 先执行fun1()的打印,再打印fun1()的返回值None

• 定义函数中带return语句且返回多个值。

def fun2():
    ls = ['张三', '李四']
    a = len(ls)
    b = ls.pop()
    return a, b
print(fun2())

• 定义函数中带return语句位于末尾行且返回多个值。

def fun2():
    ls = ['张三', '李四']
    a = len(ls)
    b = ls.pop()
    if a == 2:
        return b
    else:
        return a, b
    print('hello world')
print(fun2())

三、参数的艺术:灵活传递数据

1. 形参与实参

• 形参(形式参数):定义函数时括号里的变量,比如上面的 radius 和 pi,它只是一个占位符。

• 实参(实际参数):调用函数时填入的具体值,比如 calculate_circle_area(5) 里的 5,它会被赋值给对应的形参。

def fun3(n):
    b = 1
    for i in range(1, n+1):
        b = int(i) * b
    return b
a = input("请输入一个数字:")
print(a, '的阶乘:', fun3(int(a)))

2. 默认参数

定义函数中的某些参数会填入相同的数据,这时可以给形参设置默认值,提前给参数设置一个数据。

def circle_calc(r, pi=3.14):
    return pi * r * r 
a=circle_s(3)
b=circle_s(r=5.,pi=3.14159)
print(a,b)

3. 可变参数

当不确定要接收多少个参数时,可以用可变参数:

• 可变参数的形参开头使用*开头。

• 可变参数必须位于必填参数的右边以保证必填参数先接收到数据,再将剩余的数据传递给可变参数。

• 可变参数以元组的形式接收数据。

def fun3(a, *b):  # *b表示可变参数,接收任意数量的位置参数,打包为元组
    print(b)
    c = 0
    for i in b:
        c += a * i
    return c
print(fun3(3, 1, 2, 3))  # 调用时a=3,*b接收1、2、3,打包为元组(1,2,3)

4. 关键字参数

• 关键字参数的形参使用**开头。

• 关键字可变参数必须位于必选参数的右边,确保必选参数先接收数据。

• 关键字参数以字典的形式接收数据。

• 传递给关键字参数的数据包含键和值,其中键和值使用等号连接。

def fun4(a,**b):    
    print(a, '课程考试成绩:')
    print(b)
fun4('Python', zhangsan=90, list=95)

写在最后

函数不是Python特有的概念,但它在Python中的灵活应用,让代码的组织和复用变得格外高效。从简单的函数定义,到参数的灵活传递,再到 return 的巧妙运用,每一个知识点都是构建复杂程序的基础。

到此这篇关于吃透Python函数:从基础语法到实战技巧的文章就介绍到这了,更多相关Python函数语法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 对key为时间的dict排序方法

    python 对key为时间的dict排序方法

    今天小编就为大家分享一篇python 对key为时间的dict排序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python reverse反转部分数组的实例

    python reverse反转部分数组的实例

    今天小编就为大家分享一篇python reverse反转部分数组的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python上传时包含boundary时的解决方法

    python上传时包含boundary时的解决方法

    这篇文章主要介绍了python上传时包含boundary时的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • windows+vscode穿越跳板机调试远程代码的图文教程

    windows+vscode穿越跳板机调试远程代码的图文教程

    本文通过图文并茂的形式给大家介绍了windows+vscode穿越跳板机调试远程代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • python爬虫之利用Selenium+Requests爬取拉勾网

    python爬虫之利用Selenium+Requests爬取拉勾网

    这篇文章主要介绍了python爬虫之利用Selenium+Requests爬取拉勾网,文中有非常详细的代码示例,对正在学习python爬虫的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-04-04
  • Python中字典列表中删除重复项

    Python中字典列表中删除重复项

    本文主要介绍了Python中字典列表中删除重复项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 基于Python实现PDF批量转化工具

    基于Python实现PDF批量转化工具

    这篇文章主要为大家详细介绍了如何基于Python制作一个PDF批量转化工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-12-12
  • Python中subprocess模块的用法详解

    Python中subprocess模块的用法详解

    这篇文章主要介绍了Python中subprocess模块的用法详解,subprocess是Python 2.4中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回状态码,这个模块的目的在于替换几个旧的模块和方法,需要的朋友可以参考下
    2023-08-08
  • Python实现抢购IPhone手机

    Python实现抢购IPhone手机

    这篇文章主要为大家详细介绍了Python实现抢购IPhone手机,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python3指定路径寻找符合匹配模式文件

    Python3指定路径寻找符合匹配模式文件

    这篇文章主要介绍了Python3指定路径寻找符合匹配模式文件,涉及Python文件查找与模式匹配的相关技巧,需要的朋友可以参考下
    2015-05-05

最新评论