2020 python学习第十二天————函数参数与函数对象
2021-05-12 05:29
标签:函数定义 使用 固定 fun 关键字 形参与实参 遍历 通过 关键字实参 1.1 函数的参数分两类 1.1.1 定义阶段函数内指定的参数称之为形式参数,简称形参 形参就相当于变量名 1.1.2 调用阶段括号内传入的值称之为实际参数,简称实参 实参就相当于变量值 调用函数时会将实参的值绑定给形参,变量只能在函数内用 1.2 第一组形参与实参 1.2.1 位置形参 按照从左到右的顺序依次定义形参 特点:必须被传值,多一个不行少一个也不行 def func(x,y): 1.2.2 位置实参 按照从左到右的顺序依次定义实参 特点:按照位置与形参一一对应 func(1,2) 1.2.3 关键字实参 按照key=value的形式为指定的形参传值 特点:指名道姓为某个形参传值,可以完全打乱顺序 def func(x, y): func(y=2, x=1) 注意:可以混用位置实参与关键字实参,但是 1、不能对同一个形参重复赋值 def func(x,y): func(1,2,x=3) 2、关键字实参必须跟在位置实参的后面 def func(x,y): func(1,y=2) 1.2.4 默认参数 特点:具有默认值的形参,指的是在定义函数阶段就已经为参数赋值,这意味着在调用函数阶段可以不用为默认参数传值 注意: 1、位置形参必须放在默认形参的前面。 2、默认形参的值是在函数定义阶段就被固定的,如果调用没有为默认形参传值,那么不会每次调用都重新赋值。函数的调用彼此之间应该做到没有关联,所以说默认形参的通常应该是不可变类型。 1.3 第二组形参与实参 可变长参数 可变长指的是在调用函数时,传入的实参个数不固定,而实参是为形参赋值的 所以对应着也应该有新的形参格式来负责接收不固定长度的实参 1.3.1 形参中带*与** 1. *形参名:*会负责把溢出的位置实参存成元组然后赋值给后面的形参名,形参名通过应该是args 2. **形参名:**会负责把溢出的关键字实参存成字典然后赋值给后面的形参名,形参名通过应该是kwargs 注意:*与**在形参中混用,整体的顺序如下 def func(x,y=2,*m,**n): 1.3.2 实参中带*与** 1. 实参中带*,*后跟的那个值应该是一个可以被for循环遍历的值 *会后面的那个值打散成位置实参 2. 实参中带**,*后跟的那个值应该是一个字典 **会后面的那个值打散成关键字实参 形参中带*与**是汇总操作 实参中带*与**是打散操作 2.1 函数对象 在python中函数是第一类对象,简称函数对象 函数对象指的就是可以把函数当做变量一样去使用 2.2 可以赋值 def foo(): f=foo f() 2.3 可以当做参数传给另外一个函数 def func(aaa) # aaa=函数foo的内存地址 print(aaa) def foo(): print(‘from foo‘) func(foo) 2.4 可以当做函数的返回值 2.5 可以当做容器类型的元素 2020 python学习第十二天————函数参数与函数对象 标签:函数定义 使用 固定 fun 关键字 形参与实参 遍历 通过 关键字实参 原文地址:https://www.cnblogs.com/shof/p/13143252.html
上一篇:java 拦截器解决xss攻击
文章标题:2020 python学习第十二天————函数参数与函数对象
文章链接:http://soscw.com/index.php/essay/84553.html