比如我有
class A:
def f(self, x, y, z):
# do something with x, y, z
是否可以在不重新输入“self, x, y, z”的情况下覆盖 f 。基本上我有一个带有 10 个参数的函数的类,并且打算有很多类扩展它,所以我不想每次都输入参数。请不要只告诉我传递所有参数的列表/字典。
最佳答案
没有。如果您希望覆盖的函数具有相同的参数,则需要键入相同的参数。您可以覆盖它以具有不同的参数,因此无法神奇地知道您希望它具有相同的参数。
避免这种情况的唯一方法是使用 *args
和/或 **kwargs
,但您似乎在说您不想这样做。 (此外,这与使用正确的参数实际定义函数并不完全相同,如果您使用错误的参数调用,则在何处/何时引发错误。)
关于Python 在不重新输入函数参数的情况下覆盖函数/方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13505729/