你的位置:色播五月 > 91 丝袜 > 巨乳 12、Python 之函数: 你的代码是一整坨照旧分块的
巨乳 12、Python 之函数: 你的代码是一整坨照旧分块的
发布日期:2024-09-19 09:43    点击次数:132

巨乳 12、Python 之函数: 你的代码是一整坨照旧分块的

在前边的著述中,也曾提过巨乳,所谓编程,中枢内容唯有两块:数据的暗意、数据的处理。数据的暗意不错通过各式基本类型、容器类型的组合来达成;数据的处理,便是在限定、轮回、分支的框架下,对数据结构进行束缚重新赋值。

刚开动学习编程的生手,似乎不太民风使用用户自界说函数(User Defined Function, UDF)来编写数据的处理功能。民风于在剧本中按限定进行语句与抒发式的堆砌。

要是数据处理的逻辑表浮浅的话,不使用函数亦然不错的,毕竟够用就好。然则,要是数据处理的逻辑比拟复杂的话,照旧使用代码别称次堆积来达成功能,就不太合适了……

不错念念象一下,要从一坨几百行、几千行、甚而更多行的代码中读懂处理逻辑,然后还要进行修改、引申。单单仅仅读,可能齐要吐了。

行径员最怕的有两件事:1)读别东说念主的代码;2)读我方的代码。

是以,为了幸免日后我方看吐或者把别东说念主看吐,UDF照旧需要学一下的。

函数的刚正

Python行径员领先应该计议的代码整理用具便是函数(function)。与其他编程言语同样,Python的函数也不错把大段行径明白为多个小块儿,何况用直不雅的名字暗意每块儿代码的用途。这么不错让代码更好阐明,也更容易复用与重构。

浮浅梳理一下,在编程中,使用函数的刚正有如下:

代码的复用:一次界说,屡次调用。

普及代码的可退换性:代码复用的情况下,一次修改,多处收效。

逻辑永别与模块化:代码不再是一整坨,而是一块块的。

普及代码的可读性:代码逻辑永别与模块化之后,当然愈加易读、易于退换。

普及可推广性:使用函数,不错愈加容易进行功能的添加、或者修改。

易于调试:模块化的刚正,不错各自独处进行功能的调试,快速定位到问题。

函数的基本用法

编程言语中的函数见识,不错类比于数学中的函数的见识。函数的用途在于对数据进行处理,是以,频频需要有输入数据、数据处理逻辑、和输出数据。

在Python中自界说一个函数,不错如下操作:

不错大略看到一个函数的组成,主要包含:

def要津字:用于界说函数。

函数头:函数名(参数列表),参数列表不错为空。

docstring:函数的证据文档,以三个引号括起来的字符串,不错莫得,要是有,需要放在行数体内的第一排。

函数体:数据的处理逻辑代码。

复返值:使用return语句将要输出的数据进行复返,不错莫得,莫得的话,便是复返None。

以上仅仅一个函数的界说,要把函数的功能用起来,需要对函数进行调用:

调用函数十分浮浅,只需要将参数对应传入即可。

通过赋值语句罗致函数的复返值。

参数默许值的用法

Python救助在函数的界说经由中,给部分参数设置默许值,从而救助当默许情况应允需求的情况下,减少参数个数的传递,从而愈加便于使用。而且,不错通过参数默许值,增多函数的机动性。

比如:登委派户,能够获得到用户名,要是未登委派户,则以‘搭客’来称号:

履作歹果:

需要堤防的是,带默许值的参数,只可出现时参数列表的终末,不错是多个,不然会报语法无理。

这个语法章程,应该很好阐明,要是你是Python评释器,你若那儿理带默许值的参数,才调不会出现二义性呢。

lambda函数(匿名函数)

本着能用一排代码惩处的事情,毫不写第二行的理念。有些情况下,使用def界说函数,有点繁琐了……

好在Python提供了lambda函数的救助。

lambda函数一种匿名函数,不错达成在一排代码中界说一个功能相对浮浅的函数。径直上代码:

前边两个浮浅函数的lambda达成,如实少了一排代码。

然则,其实lambda函数,更多地摆布于将函数手脚参数传递的场景,比如,当咱们使用内置函数sorted时,先看下sorted函数的证据文档:

函数中有个key参数,用于传递一个暗意排序国法的函数,函数复返一个新的list,包含排序之后的数据,而不会修改蓝本的对象。

此外,sorted函数还有一个带默许值的参数reverse=False,暗意默许按照升序罗列。

以一个对于收获排序的场景,来浮浅使用一下该函数:

履作歹果:

这里,界说了一个get_chinese的函数,手脚key的参数。由于排序的国法比拟浮浅,更妥当使用lambda函数。

履作歹果:

淫咪咪

回来

由于篇幅所限,这篇著述只先容了对于函数的优点,以及函数的一些基础用法。终末在先容lambda函数的时间,以一个浮浅的现实案例作念了演示。案例顶用到的rich和faker第三方框架,在前边的著述中也曾先容过,感兴味的不错自行查阅。

巨乳