未绑定方法的独特用途?

时间:2015-09-09 17:47:59

标签: python

SO在未绑定和绑定方法上有很多帖子。

我理解这个定义。未绑定方法是否具有此类别特有的任何实用程序?如果是这样,有人能提供一个例子吗?我不是要求最好的应用程序,只是一个独特的应用程序。

1 个答案:

答案 0 :(得分:0)

最明显的用例是控制系统。想象一下,你在游戏中有很多玩家可以通过网络向你发送各种命令..你可能想创建一个像这样的词典:

player_commands = {
  'move'  : Player.move
  'attack': Player.attack
  ...
}

然后你可以读取字符串并使用任何Player对象调用适当的方法

player_commands[cmd](theplayer)

它可以节省您必须拥有像

这样的大型if / else链
if cmd == 'move':
      theplayer.move()
   elif cmd == 'attack':
      ...

此外,由于它是一本字典,您可以动态更新/编辑它。