【Python零基础学习入门篇⑤】——第五节:Python中的函数

简介: 1️⃣学习目标——明方向 ✅ ✅ ✅清楚并掌握函数的基础定义及语法了解函数的传入参数、函数的返回值、函数的嵌套调用能够熟练使用一些常用函数的定义及调用2️⃣ 学习任务——冲鸭!☑️ ☑️ ☑️⭐01初识函数⭐什么是函数?函数是组织好的,可重复使用的,用来实现特定功能的代码段。比如,len()就是Python中的一个内置函数:它是提前写好的它可以被重复使用它是用来实现统计长度这一特定功能的代码段

1️⃣学习目标——明方向 ✅ ✅ ✅

  1. 清楚并掌握函数的基础定义及语法
  2. 了解函数的传入参数、函数的返回值、函数的嵌套调用
  3. 能够熟练使用一些常用函数的定义及调用

2️⃣ 学习任务——冲鸭!☑️ ☑️ ☑️

⭐01初识函数

⭐什么是函数?

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

比如,len()就是Python中的一个内置函数:

  • 它是提前写好
  • 它可以被重复使用
  • 它是用来实现统计长度这一特定功能的代码段

⭐为什么学习、使用函数?

前面我们已经知道了函数是可以是帮助我们实现特定功能且可重复使用的代码段,

因此我们使用它当然是为了提高程序的复用性,减少一些重复性的代码,提高我们的开发效率啦!

那么接下来就让我们更加深入地学习函数地相关内容吧!

774c690b86194ed5b2ae92be0a2d88ae.jpg

⭐02再识函数

⭐函数的定义及语法

.Python中用def关键字来定义一个函数,格式如下:

#函数的定义
def 函数名(传入的参数):
    函数体
    return 返回值

下面是一个自定义函数:

#自定义函数
def print1():
    print("陈童学好久不见")
    print("陈童学该学习啦")

当我们定义好函数后如何去调用这个函数呢?非常的简单:

#调用函数
print1()

注意:

  • 函数中参数如果不需要,可以省略。
  • 返回值不需要,也可以省略。
  • 函数必须先定义后才能使用

⭐函数的参数

首先,传入参数有什么用呢?

传入参数的功能是:在函数被调用时,可以接收外部提供的数据在函数中使用

例:

#无参数时两个数的值固定
def add1():
    sum = 1 + 2
    print(f"1 + 2的结果是{sum}")
add1()
#传入参数时可以指定两个数相加
def add2(x,y):      #x、y为形参,表示函数将要使用的两个参数
    sum = x + y   
    print(f"{x} + {y}的结果是{sum}")
add2(6,10)    #6、10为实参,表示函数调用时真正使用的值
add2(10,20)   #同上

注意:

  • 函数定义中的参数,称之为形式参数(形参)
  • 函数调用时的参数,称之为实际参数(实参)
  • 函数的参数个数不限,参数之间使用逗号隔开
  • 调用函数传参时,实参要和形参一一对应

⭐函数的返回值

什么是返回值呢?当然就是返回来的值喏哈哈!

其实所谓“返回值”,就是我们调用函数结束时最后返回给调用者的结果

#先定义一个函数,功能为计算两数之和
def add3(x,y):
    sum = x + y
    #通过返回值将相加的结果返回给调用者
    return sum
#定义一个变量去接收函数的返回值
count = add3(15,20)
print(count)

但是要注意喔!

  • 函数中函数体遇到return后就会结束,因此return后的代码是不会被执行

返回值中的None类型

思考:如果一个函数里没有使用return返回值,该函数是不是就没有返回值了呢?

其实是有的,Python中有一个特殊的字面量:None,其类型是<class ‘NoneType’>

而无返回值的函数的返回值其实就是None

None表示的是:空的、无实际意义。

例:

#无return的函数
def la():
    print("陈童学别偷懒")
result = la()
print(f"无返回值的函数返回的内容是:{result}")
print(f"无返回值的函数所返回内容的类型为:{type(result)}")

⭐函数的嵌套调用

所谓的函数嵌套调用就是指在一个函数里边又调用了另外一个函数,就同循环嵌套类似

例:

#定义函数f1
def f1():
    print("我是函数f1")
#定义函数f2,并且在函数f2中调用f1
def f2():
    print("我是函数f2")
    #嵌套调用函数f1
    f1()
    print("那我是谁呢?")
#调用函数f2
f2()

函数嵌套调用的执行流程:

如果在函数A中执行到另外的函数B时,会先将函数B中的内容全部执行完毕后才会回来继续执行函数A中剩余的内容

⭐变量在函数中的作用域

变量作用域指的是变量的作用范围(即在哪可使用)

主要分为两类:局部变量、全局变量

  • 局部变量
    即定义在函数体内部的变量,只在函数体内部被认可
    例:
#局部变量
def f1():
    sum = 1001
    print(sum)
f1()     #调用函数可输出1001
print(sum)   #无法输出1001,因为sum只在函数体内被定义,为局部变量
  • 全局变量
    指的是在函数体内、外都被认可的变量。
    例:
#全局变量
str = "学习累了嘛,累了就等学完本文再休息吧哈哈!"
def f2():
    print(str)
def f3():
    print(str)
f2()
f3()
#函数f2、f3中都能使用str改变量

如果我们想把函数内的局部变量变为全局变量呢?只需要使用到global这个关键字就可以啦!

⭐03常用函数

其实我们最常用的函数就是Python中的内置函数啦!比如我们前面讲到的列表、元组、集合、字典中的相关函数

这些都是已经被写好的函数,可供我们直接使用。当然很多时候还是需要靠我们自己写的自定义函数来方便开发的啦!

⭐递归函数

如果一个函数里面调用另外一个函数,且该函数是它本身的话,那么这个函数我们一般称之为递归函数。

例:

#利用递归函数求n的阶乘(n!)
def f1(x):
    if x==1:
        return 1
    return  x * f1(x-1)    #6*5*4*3*2*1
print(f1(6))
#输出结果为6!,为720

递归函数在编程中是非常重要的一个函数,有些递归其实有时候不是那么的好理解,所以还需大家多见识!

⭐匿名函数

匿名函数使用lambda关键字进行定义,无函数名

语法:

lambda 参数: 函数体(一行代码)

例:

#定义一个常规函数
def f1(f2):
    sum = f2(15,20)
    print(f"结果为:{sum}")
#通过lambda匿名函数的形式,将匿名函数作为参数传入到f1中
f1(lambda x,y:x + y)

注意:

  • 匿名函数是临时构建一个函数(无名称),该函数只能使用一次。
  • 匿名函数中的函数体只能写一行代码,不能写多行代码(谨记

3️⃣本章小结——明思路 🤏 🤏 🤏

🌈🌈🌈人生本就是一场旅途,总得经历一些艰苦才能翻山越岭,遇见那些美好的事物吧!我们不该停止奋斗,但也请别忘记停下脚步欣赏沿途的风景。

本文主要讲解的函数的一些相关内容,包括函数的介绍、函数的定义及语法、函数的调用、函数的嵌套调用、递归函数等。函数可帮助我们实现特定的一些功能且可重复使用,避免了很多麻烦。关于函数的种类及使用远不止这些,希望各位小伙伴们可以以行践知,多加练习!

4️⃣往期回顾——温故知新🏆🏆🏆

🥇【Python零基础学习入门篇②】——第二节:Python的常用语句

🥈【Python零基础学习入门篇③】——第三节:Python的字符串类型

🥉【Python零基础学习入门篇④】——第四节:Python的列表、元组、集合和字典

🏆2023年 团体程序设计天梯赛个人感悟及总结(附题解)——遗憾国三

5️⃣写在最后——暖心寄语💕💕💕

🍉🍉🍉不必偏执于未知的真实,身处的当下即是意义和真实,爱才是解题的答案,也是刻画人生色彩的笔尖,耐心的走下去,总会遇到你爱的人和爱你的人。

相关文章
|
5月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
644 7
|
5月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
348 1
|
5月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
491 1
|
5月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
724 1
|
5月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
299 0
|
5月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
243 4
|
5月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
937 1
|
C语言 Python
Python学习:内建属性、内建函数的教程
本文介绍了Python中的内建属性和内建函数。内建属性包括`__init__`、`__new__`、`__class__`等,通过`dir()`函数可以查看类的所有内建属性。内建函数如`range`、`map`、`filter`、`reduce`和`sorted`等,分别用于生成序列、映射操作、过滤操作、累积计算和排序。其中,`reduce`在Python 3中需从`functools`模块导入。示例代码展示了这些特性和函数的具体用法及注意事项。
304 2
|
存储 算法 API
Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例
这篇文章是关于Python函数、参数、变量、lambda表达式、内置函数的详细总结,包含了基础知识点和相关作业练习。
237 0

推荐镜像

更多