Python 如何将另一个类方法的“header”中的类方法作为默认变量引用?

Python 如何将另一个类方法的“header”中的类方法作为默认变量引用?,python,class,oop,methods,Python,Class,Oop,Methods,我在一门课上工作,我想在这门课上取得大致如下的成就: class Class: def __init__(self, x = 4): self.x = x def Square(self): return self.x ** 2 def MathsOperator(self, operator = self.Square): return operator() 请注意,我创建的上述类只是为了说明我想要实现的目标。从本质上讲,我希望有一个

我在一门课上工作,我想在这门课上取得大致如下的成就:

class Class:
   def __init__(self, x = 4):
      self.x = x

   def Square(self):
      return self.x ** 2

   def MathsOperator(self, operator = self.Square):
      return operator()
请注意,我创建的上述类只是为了说明我想要实现的目标。从本质上讲,我希望有一个方法可以接受其他方法,但在同一个类中有一个默认方法集。在这里,self.MathsOperator是一种通过使用参数运算符可以采用任何方法的方法。但是,默认情况下,它设置为方法self.Square

我试着用Class.Square替换self.Square,但这也不起作用

这在Python中可能吗?

self仅使用方法的作用域定义,因此您可以看到,您不能在default arguments子句中使用它。您可以在不使用self的情况下通过Square,但请注意,在调用self时需要通过self:

def MathsOperatorself,运算符=Square: 返回运算符自身 self仅使用方法的作用域定义,因此您可以看到,不能在defaultarguments子句中使用它。您可以在不使用self的情况下通过Square,但请注意,在调用self时需要通过self:

def MathsOperatorself,运算符=Square: 返回运算符自身