我试图为 tk 扩展创建一个 python 包装器,所以我查看了 Tkinter.py 来学习如何做。
在查看该文件时,我发现以下模式出现了很多次:定义了一个内部方法(由方法名称中的前导“_”提示),然后定义了一个公共(public)方法作为内部方法方法。
我想知道这样做有什么好处。
例如,在 Misc 类的代码中:
def _register(self, func, subst=None, needcleanup=1):
# doc string and implementations is removed since it's not relevant
register = _register
谢谢。
最佳答案
有时,您可能想要更改方法的行为。例如,我可以这样做(假设在 Misc 类中):
def _another_register(self, func, subst=None, needcleanup=1):
...
def change_register(self):
self.register = self._another_register
def restore_register(self):
self.register = self._register
这是一种无需子类化即可更改某些代码片段行为的非常方便的方法(但通常不建议在类本身之外执行此类操作)。
关于python - 这个 Code Pattern 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116693/