函数的扩展

Posted changtao

tags:

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

函数名的用途:

函数名可以作为变量赋值(得到的是函数的内存地址)

函数的调用其实就是函数的内存地址,通过加括号调用

函数名可以当作函数的参数传递

函数名可以当作返回值

函数的闭包:优点:多次运行一样的程序可以节省程序运行的时间

应用:缓存  装饰器
闭包的例子:
def func(*args):
    sum_num = 0
    for num in args:
        sum_num += num
    def inner():
        return sum_num
    return inner
  ###print(inner.__closure__)可以用来查询inner 是不是闭包 inner
= func(1,2,3,4) inner()

默认参数的陷阱:

def func(l = 1):
    l += 1
    print(l)
func()  #2
func()   #2
func()  #2 不管调用几次输出的都是2

lst = []
def func1(a,l=lst):
    l.append(a)
    print(l)
func1(1)#[1]
func1(2,[])  # [2]
func1(2)#[1, 2]#列表是一个固定的内存地址,里面的元素都有自己的内存地址,所以在添加时并没有修改lst的内存地址

 


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

一个函数应该返回什么可以失败?

VSCode自定义代码片段——声明函数

在片段中使用列表视图

VSCode自定义代码片段8——声明函数

Laravel基本使用

错误时间选择器对话框。这是代码: