можно сделать что-то подобное:
class master:
@combomethod
def foo(param):
param.bar() # Param could be type as well as object
class slaveClass( master ):
@classmethod
def bar(cls):
print("This is class method")
slaveType = slaveClass
slaveType.foo()
class slaveInstance( master ):
def __init__(self, data):
self.data = data
def bar(self):
print("This is "+self.data+" method")
slaveType = slaveInstance("instance")
slaveType.foo()
Combomethod
определено в «, создающем метод, который одновременно является методом экземпляра и класса ».
Мой вопрос, почему это так, как это так, что первый параметр по умолчанию не может использоваться в качестве параметра Comboclass? Или, по крайней мере, почему я не могу пройти объект к ClassMethod в качестве первого параметра? Я знаю разницу между ClassMethod и InstanceMethods, и я знаю, что декораторы, но я могу не понять, насколько встроенный @Classmethod
и Self
прохождение параметров. Есть ли техническое ограничение? Или почему нет Combomethod
AllReady встроенный?