Gio*_*oli 1 python function private-methods python-chess
当我看到以下代码时,我在神话般的python-chess库的源代码中徘徊:
def _reset_board(self):
# code...
def reset_board(self):
self._reset_board()
Run Code Online (Sandbox Code Playgroud)
该reset_board()
函数只做一件事,调用它的私有对应物.这背后有原因吗?不会将代码直接放在私有函数中更快,因为python不必解析名称_reset_board()
?
_reset_board
存在,所以它可以从两个reset_board
和__init__
.__init__
无法调用self.reset_board
,因为该方法在子类中被重写,并且__init__
想要_reset_board
从它自己的类中调用特定的实现.(子类reset_board
实现可能依赖于尚未发生的初始化,以及其他问题.)