gpt4 book ai didi

python - Python 的 super() 内置不是违反了 DRY 吗?

转载 作者:行者123 更新时间:2023-11-28 16:40:43 26 4
gpt4 key购买 nike

这显然是有原因的,但我没有足够的经验来识别它。

这是 Python docs 中给出的示例:

class C(B):
def method(self, arg):
super(C, self).method(arg) # Why do we have to mention 'C' again?

有没有一种方法可以在不依赖于复制类“C”的名称的情况下从实例方法中“了解”类型?似乎该示例可能会导致类名更新但 super 函数调用中的类型参数变得陈旧的情况?

最佳答案

一方面,DRY更多的是大段代码被复制;另一方面,是的,super() 调用中的类名可能会变得陈旧(这发生在我身上)。

在 Python 3 中,super() 已经修改为不需要类名,只要该函数是在类内部定义的——所以这不是问题,除非你是猴子补丁。

关于python - Python 的 super() 内置不是违反了 DRY 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com