python中函数名可以相同吗_python – 具有相同名称的参数和函数

Python任务中,我必须做以下两个函数:

move(board, move)

undomove(board, move)

有一个与函数同名的参数对我来说似乎是一个坏习惯.我已经联系了教授来改变它,但出于好奇,是否有可能从undomove内部调用move函数,或者在移动中使用递归?在这些函数中,move指的是参数.

(Python 3,如果重要的话)

最佳答案 你可以得到一个移动(功能),但它需要一些额外的体操.

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):…绝对有点奇怪,它会让随意的读者认为你正在尝试编写一个递归函数,所以我绝对会避免这种情况.当移动已经在模块范围内定义为函数时写入undomove(move)有点不那么奇怪了,但是它仍然可能会在快速浏览时引起混淆(它是一个局部变量吗?它是函数吗?)所以我可能会也避免那个.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值