函数参数 匿名函数 装饰器

函数参数:

若函数中的所实现的需求涉及到一些未知项参与运算(这些未知项需要函数调用者来决定),这时候我们就可以将此未知项设置为参数。

位置参数(又称必选参数)

传递参数的顺序与定义的顺序有关,必须按照定义的顺序来进行传递。传递参数的个数与定义参数的个数保持一致。

关键字参数:

指的是函数调用的时候,可以通过“键-值’'的形式来加以指定,可以清楚位置关系。

当出现位置参数与关键字参数的时候,需要将位置参数写在关键字参数前面

默认参数:

注意:

1.若默认参数与位置参数或者必选参数同时存在的时候,位置参数要写在默认参数前面

当使用此传递参数的时候。

2.给默认参数指定值得=时候,必须指向不可变对象.

不定长参数:

概念:定义函数的时候,我们不确定调用 的时候会传递多少参数进来,可能传递一个,也可能多个或者不传递,此时我们可以使用不定长参数来解决(不定长参数又包括包裹位置参数与包裹关键字参数)

特点:能处理比声明的时候更多的参数(传递多少参数,处理多少参数,不传递不处理)

包裹位置参数:

使用:*变量名 *args

功能:可以收集除了必选参数以外剩余的位置参数,按照元组来进行处理

包裹关键字参数:

使用:"**"变量名 一般用kwargs

功能:收集除定义的变量的关键字参数之外,剩余关键字参数。

包裹关键字参数只处理剩余的关键字参数,收集作为字典来进行处理

注意:当位置参数【必选参数】,默认参数,包裹位置参数,包裹关键字参数同时存在的情况下,一般的顺序为位置参数,默认参数,包裹位置参数,包裹关键字参数

默认参数 与 包裹位置参数可以根据需求,位置可以调换

匿名函数:

定义:无需定义标识符【函数名】的函数或者子程序。

在Python中定义匿名函数使用lambda来进行定义。

语法:

lambda 参数列表: 表达式

特点:

1.lambda后面跟的只是一个表达式,结构体比def的简单

2.参数列表可以有多个参数,参数与参数之间使用逗号隔开

3.无需写return,表达式的结果就是该 表达式的返回值。

优点:

1.结构简单

2.米有名字,无需担心函数名的冲突

匿名函数的调用:

将lambda表达式赋值给一个变量,通过调用变量来调用匿名函数

zip函数

功能:

1.打包,将可迭代对象中对应位置的元素进行打包,它的长度取决于最短的那个,返回zipobj打包好的对象

zip(*zipobj)

解包,将之前打包的元素进行解包处理,以迭代器方式返回。

装饰器:

在代码运行期间动态增加功能的方式我们称之为装饰器。

在装饰器中,分为外函数与内函数

外函数

1.将被装饰的函数传递进来

2.将装饰好的函数返回给调用者

内函数

1.添加动态增加的功能

2.执行被装饰的函

内函数中return什么时候可以省略?

1.使用内函数来接收被装饰函数的参数

2.调用被装饰的函数的时候,需要将参数传递进去

猜你喜欢

转载自blog.csdn.net/weixin_45183510/article/details/91895012
今日推荐