gpt4 book ai didi

python - 具有相同名称的参数和函数

转载 作者:太空宇宙 更新时间:2023-11-03 13:21:28 25 4
gpt4 key购买 nike

在 Python 作业中,我必须创建以下两个函数:

move(board, move)
undomove(board, move)

对我来说,使用与函数同名的参数似乎是一种不好的做法。我已经联系教授修改了,但是出于好奇,是否可以从undomove中调用move函数,或者在上使用递归移动?在这些函数中,move 引用参数。

(Python 3,如果重要的话)

最佳答案

您可以获得 move(函数)的句柄,但是它需要一些额外的技巧。

def move(move):
print(move,"inside move")

def undomove(move):
print (move,"inside undomove")
this_mod =__import__(__name__)
this_mod.move(move)

if __name__ == '__main__':
move(1)
undomove(2)

不过,一般来说,我绝对会避免将局部变量命名为与我在该函数中需要的函数同名的名称。

就风格而言,创建函数 def move(move): ... 肯定有点奇怪,它会让不经意的读者认为您正在尝试编写一个递归函数,所以我绝对会避免这种情况。当 move 已经在模块范围内定义为函数时编写 undomove(move) 不那么奇怪了,但它仍然可能在快速浏览时引起混淆(是吗?一个局部变量?它是函数吗?)所以我可能也会避免那个。

关于python - 具有相同名称的参数和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12519458/

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