高级函数

Posted yxh6666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高级函数相关的知识,希望对你有一定的参考价值。

函数:

1.引用传递

2.可变参数、命名参数、万能参数

3.匿名函数(lambda)

4.闭包(难)

5.递归

6.偏函数

7.函数作为参数传递

8.函数调用全局变量

9.全局变量和局部变量

 

1.匿名函数

lambda表达式
 lambda:语言
 def a():
    print("hello world")
 # lambda:print("hello world")
 def add(x, y):
    return x + y
 # lambda x,y: x + y
 优点:简化代码书写
 缺点:降低了代码的可读性,增加代码的维护成本

 

2.递归调用:

  • 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
  • 递归调用的意思就是,在这个函数内部自己调用自己
  • 递归的必要条件:

    1.函数自身调用自身

    2.要有终止条件(不然会死循环) 

例如:

 

 

 

 

技术图片

 3.引用传递

  • 引用传递,实质是在传递内存地址

4.默认值参数

  • 在python,可以为函数的参数给予默认值
  •  一旦某个存在默认值,那么如果在调用的时候,不传递这个参数,则按照默认值
  •  减少调用时的繁杂操作

 注意:在定义函数时,如果存在有默认值的参数,一定要写在没有默认值的参数后面,否则在调用时,无法确定参数到底传给哪个参数。

 

 

在Python中,函数是对象,函数中参数可以是任何类型
注意:所以说在Python中,函数的参数可以是函数

 

以上是关于高级函数的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript高级 函数表达式 《JavaScript高级程序设计(第三版)》

Python的5种高级用法

python高级之装饰器

js高级-高阶函数

网络编程-Python高级语法-闭包

shell高级用法--函数