Python“private”类方法和DRY

2024-10-04 07:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

有时,类会有一个"private"@classmethod,其他方法调用它:

class FooClassThisSometimesHasALongNameEspIfAUnittestSubclasss(...):
    @classmethod
    def foo():
        ... 

    def bar(self):
        ...
        FooClassThisSometimesHasALongNameEspIfAUnittestSubclasss.foo()
        ...

可以看出,类名是重复的;不可否认,它的严重程度可能不足以导致当前技术的崩溃,然后引发僵尸世界末日,但它仍然是一个DRY违规行为,而且有些恼人。在

similar question about ^{}的回答是one of the reasons for the Py3's new ^{}。在

在缺少一些神奇的normal()函数(与super()相反,返回当前类),是否有某种方法可以避免重复?在


Tags: the方法selffoodefbarprivate技术