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实现可能依赖于尚未发生的初始化,以及其他问题.)
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |