擅长:python、mysql、java
<p>当前,<code>square</code>和<code>cube</code>是绑定到类的方法;但是,您可以通过类名在<code>squarethencube</code>中访问它们,但它们是方法,因此依赖于实例对类的引用。因此,您可以创建该类的两个新实例或使用<code>classmethod</code>:</p>
<p>选项1:</p>
<pre><code>class Example(object):
def __init__(self, x):
self.x = x
def square(self):
return self.x**2
def cube(self):
return self.x**3
def squarethencube(self, y):
sq = Example(y).square()
cu = Example(y).cube()
return cu
</code></pre>
<p>选项2:使用classmethod:</p>
<pre><code>class Example(object):
def __init__(self, x):
self.x = x
@classmethod
def square(cls, x):
return x**2
@classmethod
def cube(cls, x):
return x**3
def squarethencube(self, y):
sq = Example.square(y)
cu = Example.cube(sq)
return cu
</code></pre>