Chloeel 发表于 2020-5-16 11:42:10

小白靴靴大佬们

求助大佬!!!
------------------------------------------------------------
课后习题不会{:10_266:}

def make_repeat(n):
      return lambda s : s * n

double = make_repeat(2)
print(double(8))
print(double('FishC'))

为什么double(8)是这个亚子???

suchocolate 发表于 2020-5-16 11:45:27

什么样子

Twilight6 发表于 2020-5-16 11:49:18

def make_repeat(n):
    return lambda s: s * n
这边里面用了 lambda等于里面也写了个函数

所以你这边先传入的2
make_repeat(2)# 这边还是函数,n = 2

可以将lambda s : s * n简写为:
n = 2
def xxx(s):# 这边xxx是我乱代替的 表示 xxx = lambda s : s * n
    return s * n

所以结果就是你先传入了2然后在double传入了8

有谁懂 发表于 2020-5-16 11:50:27

本帖最后由 有谁懂 于 2020-5-16 11:56 编辑

def make_repeat(n):
    return lambda s: s * n
#lambda s: s * n表示一个匿名函数

double = make_repeat(2)   #double=lambda s: s * 2,可以理解为double(s) = s *2

#double(8) =8 * 2 =16
print(double(8))
#double('FishC') ='FishC' * 2 = 'FishCFishC'
print(double('FishC'))

liuzhengyuan 发表于 2020-5-16 12:08:35

就是2 * 8

kiliop 发表于 2020-5-16 15:33:16

Twilight6 发表于 2020-5-16 15:34:16

kiliop 发表于 2020-5-16 15:33
靴靴!!!明白啦
讲解清晰易懂>_

满意滴话 就设置最佳吧~~{:10_287:}

kiliop 发表于 2020-5-16 15:34:17

Twilight6 发表于 2020-5-16 16:23:16

@zltzlt帮下设置最佳吧{:9_240:}
页: [1]
查看完整版本: 小白靴靴大佬们