擅长:python、mysql、java
<p>Python没有类似于Java的抽象类。可以将可调用项作为函数参数的值传递。你知道吗</p>
<pre><code>class AbstractExample():
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def call_now_with_my_parameters(self, callable):
callable(self.arg2, self.arg2)
def example_function(arg1,arg2):
print("{},{}".format(arg1, arg2))
ae = AbstractExample(5, 7)
ae.call_now_with_my_parameters(example_function)
</code></pre>
<p>在我看来,您想要的是存储一个callable及其参数,以便以后执行。以下是部分:</p>
<pre><code>from functools import partial
p = partial(print, 'aef','qwe')
p()
em = partial(exampleMethod, 5, 6)
em()
</code></pre>
<p>然后可以传递<em>p</em>和<em>em</em>变量作为函数参数。你知道吗</p>
<p>也许这就是你想要做的:</p>
<pre><code>from functools import partial
class AbstractExample():
def __init__(self, callable):
callable() # call it now
def example_function(arg1,arg2):
print("{},{}".format(arg1, arg2))
call_this_later = partial(example_function)
// you can pass call_this_later as parameter
ae = AbstractExample(call_this_later(5, 7))
</code></pre>