青少年python系列 38.高阶函数

青少年python教学视频ppt源码

青少年python系列目录_老程序员115的博客-CSDN博客

        从之前的文章了解循环嵌套与选择结构的嵌套,这些程序结构的嵌套使得我们有可能解决更为复杂的问题。在python中函数也是如此,有别与我们初学的函数,嵌套可以让我们创造更加高阶的函数,帮助我们处理更加复杂多变的问题,简化我们的程序结构。那么在高阶函数中,我们熟知的参数与返回值又会有着怎样的变化与不同?

1 函数的嵌套

        python是允许创建嵌套函数的,也就是说我们可以在函数内部定义一个或者多个函数。我们把它们分为外函数和内函数。嵌套函数是为函数内部服务的,比如减少代码的重复,想要调用函数,要使用函数名,内函数也一样。如果不用函数名调用内函数,内函数就永远不会执行。

        外函数内部调用内函数,即用函数名调用。

        这样调用外函数也会执行内函数的代码块。

        如果在函数外直接调用内函数,则程序运行会报告错误。

这是因为内外函数有着各自的作用域,函数的调用要符合函数的调用的规则。

2 函数的参数拓展

必备参数

函数调用时的数量,位置,参数类型必须和定义时的一致。

如例子中一样,如果此时传入的实参不是1与2,而是两个不同数据类型的参数,那么函数运行时就会报错,必备参数也叫位置参数,它对于形参与实参的数量,位置,参数类型都有很严格的规定。

关键字参数

通过定义关键字获取实参的值,与形参的顺序无关。

如例,关键字参数在实参传入时,会通过关联形参名来传值,此时python会自动按照参数名来匹配参数值,与必备参数相比,关键字参数对传参顺序没有要求,但依然严格要求传参的数据类型与数量。

默认参数

默认参数即在定义函数时为形参添加默认值,调用函数时,默认参数的值如果没有新传入,则被认为是默认值。

这和我们平常的密码设置很相像,在函数形参定义时就为形参设置一个默认值,当实参没有新值传入时,参数就会使用默认值。就像如果账户没有设置密码,那么就会自动设置为默认密码。

"函数"参数

函数也可以作为函数的参数

 函数和其他变量是一样,变量是可以传递和修改值的,函数也可以作为变量,所以函数也可以作为函数的参数

在这个例子中我们可以清晰的看出,函数可以作为参数,参与另一个函数的定义。

3 函数的返回值拓展

我们知道,变量可以传递和修改值的,函数也是如此,所以函数不仅可以当作做参数,也可以作为返回值。

如例,内函数可以作为外函数的返回值被调用。

"return函数名()"调用内函数

return语句可以返回值与结束函数调用,也可以在嵌套函数中使用return语句来调用内函数,对于外函数来说,此时内函数相当于它的返回值,这样,我们在调用外函数时就可以一起调用内函数

"return函数名",调用内函数

        如例,此时return func2后面并没有括号,意味着在此处并不是调用内函数func2(),而是,在返回func2()函数所在的位置,所以在函数外调用函数时,我们先调用外函数func1,通过return来返回内函数的位置,再增加括号,调用内函数.

总结

1、函数的嵌套

        在一个函数中定义了另外一个函数。分为外函数和内函数

2、函数的参数拓展

        必备参数、关键字参数、默认参数、“函数”参数

3、函数的返回值拓展

        “函数”返回值、"return函数名()"调用内函数、"return函数名"调用内函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值