匿名函数

Posted liangliangzz

tags:

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

# # if True:
# #     name=xiaoming
# # print(name)
# #没有块级作用域
# # def test():
# #     a=10
# # test()
# # print(a)
# # 局部变量:在函数内部定义的变量,只能在函数内部使用
# # print(a)
# # 全局变量:定义在函数外部的变量,拥有全局的作用
#
#
# #num全局变量
# # num = 10
# # def show():
# #     # 函数内部可以使用外部定义的变量
# #     # print(num)
# #     # 若想更改外部变量,需要进行global声明
# #     global num
# #
# #     # 不能更改外部的全局变量,而是定义了一个局部变量
# #     num = 20
# #     print(num)
# #
# #
# # show()
# # print(num)
#
#
# #多在嵌套函数中使用
# def outnum():
#     n = 100
#     def nei():
#         # 使用外部函数的局部变量,需要进行声明才可更改
#         nonlocal n
#         # 内部函数可以使用外部函数的局部变量,但是不能更改
#         n = 200
#         print(n)
#     nei()
#     print(n)
# outnum()

def test():
    print(你的世界我不懂)

#
# # print(test.__name__)#打印函数名字
# # 函数可以像普通变量一样进行赋值
# a=test
#
# print(a.__name__)
# a()

# def show(func):
#     func()
# # 函数作为参数传递
# show(test)

# def add(a,b):
#     return a+b
#
# def sub(a,b):
#     return a-b
#
# def calc(a, b, yunsuan):
#     return yunsuan(a, b)
#
#
# print(calc(3,5,add))
# print(calc(3,5,sub))
# #lambda匿名函数
# print(calc(3,5,lambda x,y:x+y))
# print(calc(3,5,lambda x,y:x*y))
# print(calc(3,5,lambda x,y:x/y))
# print(calc(3,5,lambda x,y:x-y))


lt = [
    {name: xiaomei, age: 18, height: 185,weight:180},
    {name: goudan, age: 16, height: 160,weight:185},
    {name: dagou, age: 20, height: 175,weight:189},
    {name: ergou, age: 15, height: 155,weight:182}
]


def key(d):
    return d[age]


lt.sort(key=key)#指定key值进行排序
print(lt)
lt.sort(key=lambda d: d[weight])
print(lt)

for i in lt:
    print(i)

 

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

repost对JAVASCRIPT匿名函数的理解(透彻版)

如何启动匿名线程类

匿名函数

匿名函数的用法

使用匿名函数瓶颈提高 matlab 代码的性能

函数式编程——匿名函数