函数名的本质和闭包

Posted songzangzhe

tags:

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

函数名的本质:

  函数可以作为容器中一项

  函数名可以赋值

  可以作为参数

  可以做返回值

返回值的本质:是返回的值,而不是某个变量

def func():

  a=1

  return  a

b=func()

print(b)

func#函数的内存地址

函数名加括号==调用

函数地址加括号==调用

函数名可以赋值

def  f():

  print(123)

f()

a=b=f

f()

a()

b=()

容器类型:列表 元祖 字典 集合

函数可以作为容器类型中的一项,可以做字典的keys

def f1():

  print(‘哇哈哈‘)

def f2():

  print(‘qq星‘)

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

def login():

  print(‘欢迎登陆‘)

def index(auth):

  auth()

  print(‘欢迎来到首页‘)

index(login)

函数名可以作为函数的返回值

def login_failed():

  print(‘登录失败‘)

def index():

  print(‘欢迎来到首页‘)

def login(usr,pwd):

  if  usr == ‘alex‘  and  pwd ==‘sb‘

    return  index

  else:

    return login_failed

res_func = login(‘alex‘,‘ssb‘)

res_func()

 

def f():

  pass

f是函数名

f()是函数调用

f()得到的结果是返回值

闭包

内部函数使用了外部函数的变量,内部函数就是一个闭包

def outer(*args):

  num=0

  for i in args:

    num+=i

  def  inner()

    return  num

   return inner

inner=outer(1,2,3,4,5)

inner()s

inner就是一个闭包函数

闭包的应用

    缓存

    装饰器

 

 

 

 

 

  

以上是关于函数名的本质和闭包的主要内容,如果未能解决你的问题,请参考以下文章

Python 基础第十一天(闭包和装饰器初识)

python 函数名 闭包 装饰器 day13

python函数名的应用闭包和迭代器

第十一天 函数名的使用以及第一类对象, 闭包, 迭代器

函数名的运用(第一类对象)以及闭包与迭代器

函数名的运用闭包以及迭代器