feyafeya 2022-01-23 21:34 采纳率: 93.3%
浏览 12
已结题

参数后面接函数是怎么调用的

    def get_action(self, board):
        try:
            location = input("Your move: ")
            if isinstance(location, str):  # for python3
                location = [int(n, 10) for n in location.split(",")]   #分割两个数字
            move = board.location_to_move(location)
        except \
                Exception as e:
            move = -1
        if move == -1 or move not in board.availables:
            print("invalid move")
            move = self.get_action(board)
        return move

board 是函数的参数,可是move那里,board却调用了另外一个函数,实在不懂,请指教。

  • 写回答

1条回答 默认 最新

  • YirongChen 2022-01-23 22:03
    关注

    学习python,切记,万物皆对象,这里的board参数,传入实参的时候,就是传一个对象入来的。所以代码里面把board看作是一个对象,完全没有问题。
    而这一行代码,是调用了对象board的成员函数location_to_move来处理location,并且把处理结果返回给move。

    move = board.location_to_move(location)
    

    觉得有帮助,记得采纳本答案哦!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 1月23日

悬赏问题

  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项