EasonShan 发表于 2020-4-20 20:00:21

关于lambda表达式

课后作业第7题:
def fun1(n):
    return lambda s : s*n
double=fun1(2)
print(double(8))
print(double('FishC'))

请问,还原成def函数该怎么写?

永恒的蓝色梦想 发表于 2020-4-20 20:04:14

def fun1(n):
    def fun2(s):
      return s*n
    return fun2
double=fun1(2)
print(double(8))
print(double('FishC'))

liuzhengyuan 发表于 2020-4-20 20:04:39

本帖最后由 liuzhengyuan 于 2020-4-21 13:29 编辑

def fun1(n):
    def name(s):
      return s*n
    return name

永恒的蓝色梦想 发表于 2020-4-20 20:06:30

满意请选最佳~

EasonShan 发表于 2020-4-21 13:13:19

为什么写return fun2(s)会报错呢

EasonShan 发表于 2020-4-21 13:16:19

永恒的蓝色梦想 发表于 2020-4-20 20:04


为什么写return fun2(s)会报错呢

liuzhengyuan 发表于 2020-4-21 13:17:56

EasonShan 发表于 2020-4-21 13:16
为什么写return fun2(s)会报错呢

是 return fun2(n) 吧,

永恒的蓝色梦想 发表于 2020-4-21 13:24:26

EasonShan 发表于 2020-4-21 13:13
为什么写return fun2(s)会报错呢

为什么不报错呢?

永恒的蓝色梦想 发表于 2020-4-21 13:25:00

liuzhengyuan 发表于 2020-4-21 13:17
是 return fun2(n) 吧,

你有看题嘛……

liuzhengyuan 发表于 2020-4-21 13:30:00

EasonShan 发表于 2020-4-21 13:16
为什么写return fun2(s)会报错呢

不加参数
页: [1]
查看完整版本: 关于lambda表达式