gpt4 book ai didi

python - 我想知道下面代码中 lambda x=x 的用途是什么?

转载 作者:行者123 更新时间:2023-12-01 00:03:51 25 4
gpt4 key购买 nike

for x in range(6):
for y in range(4):
button = Button(command = lambda x=x, y=y:show_symbol(x,y),width
=4, height = 2)
button.grid(column = x, row = y, padx = 10, pady =10)
buttons[x,y] = button
button_symbols[x,y] = symbols.pop()
root.mainloop()

上面的代码适用于我正在开发的匹配游戏。我了解嵌套 FOR 循环中的所有内容,除了 lambda 函数。

最佳答案

lambda函数定义中的x=x是声明一个参数x,其值为x >,从 for 循环中当前范围内的 x 解析,作为默认值。

换句话说,代码:

for x in range(6):
for y in range(4):
button = Button(command = lambda x=x, y=y:show_symbol(x,y),width
=4, height = 2)

可以用更易读的方式重写如下:

for x in range(6):
for y in range(4):
def command(a=x, b=y):
return show_symbol(a, b)
button = Button(command=command, width=4, height=2)

关于python - 我想知道下面代码中 lambda x=x 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60124572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com