si può fare qualcosa di simile:Utilizzando stessa funzione di istanza e classmethod in pitone
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
è definito in "Creating a method that is simultaneously an instance and class method".
La mia domanda è, perché è così, quel primo parametro di default non può essere usato come parametro di comboclass. O almeno, perché non posso passare l'oggetto a classmethod come primo parametro. So qual è la differenza tra classmethod e instancemethods e cosa sono i decoratori, ma potrei non capire, come viene effettuato il passaggio dei parametri @classmethod
e self
integrato. Ci sono solo alcune limitazioni tecniche? O perché non è già integrato lo combomethod
?
prega di non utilizzare il testo-parlare ("smth") nella post. –
Non riesco a capire né la testa di quello che stai chiedendo qui ... –
@Ignacio Voglio sapere se sto sbagliando tutto e c'è un modo più semplice? Ho pensato che potrebbe esserci un modo per fare la stessa cosa e se no, perché no? – Johu