作者回复: 谢谢,简明扼要的让初学者能够掌握语言的使用,是设置这门课程的初衷,在了解基础语法之后要继续学习更多的框架和库才能更轻松的搞定工作上的需求,继续加油吧!
作者回复: 大家应该是被lambda的陌生写法吓到了,它没有那么复杂的,把lambda当作是个连函数名、函数定义都省略的函数调用就可以了,例如你需要使用函数这种形式,而函数内容又很简单,就没有必要为函数起一个标准又冗长的名字,甚至去定义这个函数,直接换成lambda拿去用就好了。
如需要定义一个函数输入两个参数返回两个参数的和,函数和lambda的写法是:
# 定义
def add(x,y):
return x+y
# 调用
print(add(5,6))
#lambda 写法
add2 = lambda x,y : x+y
print(add2(5,6))
作者回复: 视频中的演示是希望取出字典的value, 字典的key是第一位,第二位是value
作者回复: 大写的True是python的关键字,是bool类的两个实例(True和False),小写的true是这里你定义的函数啊
作者回复: 这是Pycharm这个IDE自带的功能,选中多行后使用tab键可以批量缩进,使用ctrl+/ 可以批量注释
作者回复: 1 当你需要使用函数而不想纠结该用什么名字的时候使用lambda表达式
2 当一个函数很短小,功能很简单,而且写成lambda在阅读源代码很简洁的时候,会使用lambda表达式代替函数来进行书写
作者回复: 如果编码效率也算效率的一种,那匿名函数(lambda)也算得上提升效率的一种手段了。匿名函数比较像电影里出现的群众演员,可能出场几秒钟就被主角突突突了,还有必要知道他叫什么名字,交代背景吗?在python中如果需要以函数形式调用,而且仅仅使用很少次数,函数内容也很简单的话就不需要精心定义一个函数名再调用他们了,匿名函数就是这样一类,定义和调用写在一起,还不需要定义名字的函数。
作者回复: 把lambda表达式当成是没有名字的函数就可以,lambda关键字后面跟着的变量就是函数的返回值,多数用在编写简单函数上面,比如:
定义一个函数它的功能是为传入的参数+1之后返回,定义和调用要远远比实现功能更复杂,这时候就可以改写为lambda表达式了。
def testfunc(a_num):
sum = a_num + 1
return sum
var = testfunc(5)
print(var)
# 将上面的testfunc函数改为lambda表达式
var = lambda b_num : b_num + 1
print(var(5))
作者回复: 要看具体的函数,不是所有的函数都能写为lambda表达式
作者回复: 是的,按照白话解释没问题。它和内建函数BIF(built-in functions)组合起来有很大威力,这些内建函数有:
filter() zip() map() reduce()
作者回复: 这里的 return 是为了演示lambda表达式的“演化”过程。
lambda 表达式的语法结构是 :
lambda 形参列表 : 函数返回值表达式语句
为了让大家理解方便,我们演示了一个需求--去取字典的value值,如果用lambda表达式书写是:
lambda item: item[1]
如果给lambda表达式(也就是匿名函数)加上函数名等同于我们之前学习的函数写法:
def dictvalue(item):
return item[1]
作者回复: 这是pycharm 图形工具自带的补全功能,输入左侧括号,右侧会进行补全,不是快捷键实现的。