自学Python3.4-函数分类(匿名函数)

自学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)

 

 

 

 

 

 

。。。。

posted on 2019-03-25 13:18 CARLOS_CHIANG 阅读(...) 评论(...) 编辑 收藏

导航