自学Python之路-Python基础+模块+面向对象
自学Python之路-Python网络编程
自学Python之路-Python并发编程+数据库+前端
自学Python之路-django
自学Python3.4-函数分类(匿名函数)
内置函数,自定义函数,匿名函数
匿名函数(python3.x)
python 使用 lambda 来创建匿名函数。 对于简单的函数,也存在一种简便的表示方式,即:lambda表达式
- lambda只是一个表达式,函数体比def简单很多。
- lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
- lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
- 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
1.1 匿名函数创建语法
lambda [arg1 [,arg2,.....argn]]:expression
1.2 示例
lambda x: x+1 #一个参数
lambda x,y,z:x+y+z #多个参数
lambda x,y=3: x*y #允许参数存在默认值,但是默认值的参数必须参数顺序最后
1.2.1 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:
# 普通条件语句 if 1 == 1: name = 'carlos' else: name = 'alex' # 三元运算 name = 'carlos' if 1 == 1 else 'alex'
1.2.2 对于简单的函数,也存在一种简便的表示方式,即:lambda表达式
# ###################### 普通函数 ###################### # 定义函数(普通方式) def func(arg): return arg + 1 # 执行函数 result = func(123) ####################### lambda ###################### # 定义函数(lambda表达式) my_lambda = lambda arg : arg + 1 # 执行函数 result = my_lambda(123)
。。。。