python入坑第十三天|函数(2)

今天我们继续来学习函数,上次我们介绍的函数都是有名有姓的函数,可以说是有头有脸的人物,那今天我们就来说一下匿名函数,顺便补充一下变量的作用域。

匿名函数

顾名思义,匿名函数就是没有名字的函数,在定义方法时,要取一个简洁明了的函数名可不是一件简单的事,就像上次我在定义多参函数的时候就使用了拼音duocan来作为函数名,实在是无奈啊。那好,我们先来看一个匿名函数的例子。

《python入坑第十三天|函数(2)》

可以看出,这个和以下函数是等价的

《python入坑第十三天|函数(2)》

当函数比较简单时,我们就可以使用这种方法而省去想一个好函数名的时间。

变量的作用域

全局变量和局部变量

顾名思义,全局变量的作用域是全局,而局部变量的作用域是局部。看下面的例子

《python入坑第十三天|函数(2)》

可以看到,虽然我们调用了_print(),而这个方法是把5复制给a,而最终我们打印a的值时,结果却是3,这就说明a=5并没有把a=3给覆盖掉,即a=5的作用域仅仅是在方法_print()内部。看下面这个例子

《python入坑第十三天|函数(2)》

当然,全局变量也不会覆盖局部变量,调用_print()方法也可以打印出局部变量的值。

《python入坑第十三天|函数(2)》

也就是说,全局变量和局部变量是各行各事,没有关联。方法内部的局部变量是不能为方法外部工作的,当然,如果一定要让它们工作,我们可以在局部变量前加上关键字global使其变为全局变量。

《python入坑第十三天|函数(2)》

注意,如果用global声明的变量和外部的全局变量同名,那么外部的全局变量就会被覆盖掉哦

《python入坑第十三天|函数(2)》

那好,今天的内容就是这些了哦,最近有点忙,写得有点短,见谅!

《python入坑第十三天|函数(2)》 python小白联盟

    原文作者:雨路浅歌
    原文地址: https://www.jianshu.com/p/f3f743873fcb
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞