擅长:python、mysql、java
<p>由于Python允许函数作为值传递</strong>,函子基本上是一个对象,它是一个函数。请注意,在您发布的代码中,您会多次比较这是哪个函数。在</p>
<p>在<code>cmd_type = functor.val</code>行中,您实际上将其归因于cmd_,然后键入该函数本身,然后对其进行比较,以确定它到底是哪个函数。在</p>
<p><code>if cmd_type == 'stop_':</code><br/>
函数是stop()吗?在</p>
<p><code>elif cmd_type in ['start_', 'mod_']:</code><br/>
是这些函数之一,start(),mod()?在</p>
<p>等等。。。进一步阅读<a href="https://en.wikipedia.org/wiki/Function_object" rel="nofollow">here</a></p>
<p><strong>Edit</strong>:我发现<a href="https://stackoverflow.com/questions/2030863/in-functional-programming-what-is-a-functor?rq=1">this</a>主题与理解函子的概念非常相关,尽管它没有引用python,但是python有很多函数式编程特性。在</p>