1.13 函数以及函数参数

本文深入探讨函数的产生原因、定义方式、参数类型及如何使用。从位置参数到默认参数,再到动态参数,全面解析函数在编程中的作用与灵活应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 函数的产生原因:
在之前的学习中,我们也有接触到一些函数 len(),type(),range()等等,这些函数都属于内置函数,我们可以直接调用,可以看出,函数:
a. 它是可以具体完成某个功能的;
b. 我们可以直接调用它,可重复使用
简言之,函数可以提高代码的复用性,也可以减少我们编写重复代码的工作

2. 函数的定义:
函数代码块以 def 开头,后接函数名称和 () : 。
传入参数可放在“()中”
函数最终 return 结束函数,选择性地返回一个值给调用方。没有return就代表返回 None。
语法 :
def 函数名 (参数1,参数2,参数3,…,参数n):
函数体
return 表达式 (此处可省)
如 :
在这里插入图片描述
3. 函数的位置参数 : 即函数定义时,“()"中是有参数标识符的,而不是空的,如图所示,
在这里插入图片描述
通过截图中代码内容,我们可以看出: 在调用有位置参数的函数时,参数标识符对应的值也需要传
4. 函数的默认参数
函数在定义时,并且位置参数处不为空,相比3中的唯一不同,就是我们会给参数一个默认的值
在这里插入图片描述
当调用函数时,如果不传参数,就使用函数的默认值,如果传了参数那么就用所传的参数
5. 位置参数与默认参数
一个函数,有时候不仅有位置参数,也有默认参数,如果这两者都同时存在的时候,我们需要把位置参数放
在默认参数之前,否则会报错 (可见下方截图) 在这里插入图片描述
6. 返回值
return [表达式] 可用于退出函数,返回一个表达式 ,在调用函数得时候,就会拿到这个表达式得值,你可以使用这个表达式进行其他处理,return得这个表达式不会打印在控制台上,需要你进行打印操作才会打印
若不带参数值的return语句返回None
(这就好比:
1) 函数中没有return时,就相当于:你在水果摊看到新鲜得大苹果,因为你还没买,你不能拿走这个苹果,你就
只能看,不能吃,你只能看到它明晃晃得展示在你眼前,展示给你但是你又只能看不能吃就相当于这个函数没有
return,只是打印在控制台让你看,但你不能用其中得内容
2) 函数中有return时,就相当于: 你买了苹果,这个时候这个苹果你就可以拿到,你可以将它先存起来,也可以
直接吃,也可以切片吃,当然也可以切块或者削皮后再吃,你可以拿到这个苹果,苹果就相当于函数中return 表
达式值,这个值你拿到之后你可以用来做其他处理)
例题: 算出1+2+3+4+…+100的值:
图1在这里插入图片描述

通过上方截图观察可知:
  1) 调用函数时,return的表达式值不会被打印在控制台,要想查看返回值是否正确,可print打印查看;
  2)有return的函数在调用后,可以拿来自己用
  3) 没有return的函数,调用该函数时,需要打印在控制台的内容,会自动打印
  4) 没有return的函数,print(该函数)时,会打印:None(因为是None类型,所以函数内的数据无法拿来
       自己用)

7. 动态参数(不定长参数):
动态参数就是函数参数的个数是不确定的,这个时候,函数定义时,参数表示就需要: *参数名

图2在这里插入图片描述
8. 带有关键字的动态参数
函数定义:
def 函数名 (**参数名): # 这个参数是字典类型
代码块
ptint(参数名) # 假如这里输出参数,我们可以查看参数是什么
函数名(a=1,b=2) # 函数调用时,需要指明关键字(即:变量名),
控制台打印结果: {“a”:1,“b”:2}
图3
在这里插入图片描述
9 . 位置参数、默认参数、动态参数、关键字动态参数的混用
首先,我们需要知道,这几种参数类型同时存在的话,函数定义时,参数的放置位置:

具体可看下方截图:
图4
在这里插入图片描述
图5
在这里插入图片描述
图6
在这里插入图片描述
图7
在这里插入图片描述
图8
在这里插入图片描述
图9
在这里插入图片描述
图10
在这里插入图片描述
通过以上函数定义&不同情况下的结果,我们可以看出:
1)调用函数时,位置参数必须传
2)调用函数时,默认参数(可缺省),动态参数,关键字动态参数均可缺省,即,可以不传
3) 图5图6,可以看出,当动态参数在位置参数或者默认参数后,那么调用函数时,传的参数会优先处理位置参数或默认参数
4) 图8得以得知,当存在位置参数或者默认参数时,那么该两类参数前不能有关键字动态参数,否则会报错
5) 图9可知: 存在位置参数或者默认参数时,那么该两类参数前不能有动态参数,否则也会报错,因为这种情况,传的参数都会默认到动态参数,而后边的位置参数或者默认参数未传参自然会报错
6) 图10可知: 动态参数不能放在关键字动态参数之前,会自动语法报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值