python基础 - lambda关键字

Python中的lambda关键字可以理解为:其功能类似于函数指针。

lambda的官方翻译是匿名函数,这是相对与正常的函数来说的,举例说明:

定义一个正常的函数,实现增1运算:

def plus1(x):
    return x+1

上面的语句实现了:

1. 定义了一个函数,函数名叫:plus1

2. 此函数有一个参数

对应的匿名函数语句写作:

lambda x:x+1

注意,这是一个表达式,所以他实际上是做不了任何事情的。。。

那么我们如果想调用函数来实现增1运算,分别用正常函数和匿名函数的实现举例如下:

实名函数实现:

def plus1(x):
    return x+1

a = 0
a = plus1(a)
print a

匿名函数实现:

func = lambda x:x+1
a = 0
a = func(a)
print a

结论,匿名函数的用法,既像C语言中的宏定义,又像C语言中的函数指针

将匿名函数和实名函数结合起来使用就更加好玩了,比如:

def plus1(x):
    return x+1

func = lambda x:plus1(x)
a = 0
a = func(a)
print a

你看,这不就是函数指针的用法了吗?

C语言有了函数指针就变得灵活无比,同样,将lambda用上之后,python也可以变得同样的灵活。

时间: 2024-10-19 03:32:17

python基础 - lambda关键字的相关文章

python基础 - global关键字及全局变量的用法

python中global关键字主要作用是声明变量的作用域. 在C语言中,由于变量一定是先声明,后使用,所以我们可以清楚的知道,现在使用的变量是全局还是局部,比如: int a = 5; void test(void) { a = 1; // 没有先声明,所以用的是全局的变量a } void test1(void) { int a; a = 2; // 前面声明了,所以用的是局部变量a,对其所做的修改不会影响全局变量a } void main(void) { printf("before: a

Python基础-lambda表达式与三元运算

一.lambda表达式 1 >>> def add(x,y): #定义一个加法函数 2 return x+y #返回两个参数的相加的值 3 4 >>> z=f(3,4) 5 >>> print(z) 6 7 #调用加法函数返回7 7 >>> lambda x,y:x+y 8 <function <lambda> at 0x0000020F385B86A8> 9 #可以看到lambda是一个 function(函

python基础—lambda、内置函数、三元函数(深入学习)

一. 三元运算 例: 二. Lamdba表达式 例: 三. 内置函数 1. 高级函数: 1)Map(函数名,参数):使用函数遍历参数,并显示每个参数的结果 2)Reduce(函数名,参数):使用函数依次遍历参数,但至少两个参数 3)Filter(函数名,参数):调用函数,遍历参数,只有返回True的结果 4)Zip(序列A,序列B*****):接收多个序列化类型的数据,对各序列化数据中的元素, 按索引位置分类成一个个元组,元组的个数以元素最少的序列为准,以列表的方式显示. 2. 其他函数

python 基础 学习 lambda

Lambda表达式 匿名函数 -lamdba函数是一种快速定义单行的最小函数,是从Lisp借用来的,可以用在任何需要函数的地方. 例子: 函数:                 >>> def fun(x,y):                 ...     return x*y                 ...                  >>> fun(23,2)                 46                 lambda la

python基础之常用关键字总结

前言 到python3.6为止,python内置的关键字有33个,比python2.7的版本多了2个.下面总结一下python3的关键字的使用. python内置关键字 解释器在加载上下文的时候,如果遇到一些预先设定的变量值,就会触发解释器内置的一些操作,这些预定的变量值就是关键字. 查看关键字 查看当前版本的关键字信息,使用: help("keywords") # python3结果 False def if raise None del import return True eli

【python基础语法】常用内置函数、关键字、方法和之间的区别(小结)

''' 关键字: False:bool数据类型 True:bool数据类型 None:表示数据的内容为空 and:逻辑运算符:与 or:逻辑运算符:或 not:逻辑运算符:非 in:身份运算符,判断变量是否在序列中 is :成员运算符,判断变量是否为某个类的实例 del:删除变量或序列的值 assert:列表排序,默认从小到大排序,升序,加参数reverse=True,按降序进行排序 with:简化Python的语句 pass:表示通过(一般用来占位的) if elif else:条件判断 wh

【Python基础 04】变量的命名和关键字

目标 标识符和关键字 变量的命名规则 0.1 标识符和关键字 1.1 标识符 标示符就是程序员定义的 变量名.函数名 名字 需要有 见名知义 的效果 标示符可以由 字母.下划线 和 数字 组成 不能以数字开头 不能与关键字重名 思考:下面的标示符哪些是正确的,哪些不正确为什么? fromNo12 from#12 my_Boolean my-Boolean Obj2 2ndObj myInt My_tExt _test test!32 haha(da)tt jack_rose jack&rose

Python之路【第三篇】:Python基础(二)

Python之路[第三篇]:Python基础(二) 内置函数 一 详细见python文档,猛击这里 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作.

Python的lambda匿名函数

lambda函数也叫匿名函数,即,函数没有具体的名称.先来看一个最简单例子: def f(x):return x**2print f(4) Python中使用lambda的话,写成这样 g = lambda x : x**2print g(4) lambda表达式在很多编程语言都有对应的实现.比如C#: var g = x => x**2Console.WriteLine(g(4)) 那么,lambda表达式有什么用处呢?很多人提出了质疑,lambda和普通的函数相比,就是省去了函数名称而已,同