<p>你可以这样做:</p>
<pre><code>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()
</code></pre>
<p><code>combomethod</code>在“<a href="https://stackoverflow.com/questions/2589690/creating-a-method-that-is-simultaneously-an-instance-and-class-method">Creating a method that is simultaneously an instance and class method</a>”中定义。在</p>
<p>我的问题是,为什么会这样,默认的第一个参数不能用作comboclass的参数?为什么不能将参数作为第一个传递给对象呢?我知道classmethod和instancemethods之间的区别,也知道decorator,但我可能不明白如何进行内置的<code>@classmethod</code>和{<cd3>}参数传递。是否存在技术限制?或者,为什么没有内置<code>combomethod</code>allready?在</p>