【发布时间】:2018-03-26 06:52:33
【问题描述】:
我有一个 Game 类,它的字段是 Board 对象。我目前通过传入有关游戏的字符串编码信息并制作Board 对象来制作Game。
但是,我现在有一堆 Board 对象,并想创建一个直接接收 Board 对象的新构造函数。
这是我当前的构造函数:
def __init__(self, game_string):
self.single_list = game_string.split(",")
self.board = self.parse_game_string(game_string)
self.directions = self.get_all_directions()
self.red_number_of_streaks = self.get_number_of_streaks("R")
self.black_number_of_streaks = self.get_number_of_streaks("B")
但是现在我有了 board 对象,所以我想这样做:
def __init__(self, board):
self.board = board
self.directions = self.get_all_directions()
self.red_number_of_streaks = self.get_number_of_streaks("R")
self.black_number_of_streaks = self.get_number_of_streaks("B")
我不认为 Python 会知道如何区分这两个构造函数。我可以根据参数的类型确定要做什么?比如:
如果是实例(str): # 常用的构造函数功能 elif isinstance(游戏): # 新的构造函数功能
有没有更好的办法?
谢谢!
【问题讨论】:
标签: python