擅长:python、mysql、java
<p>在Python中比在JS中容易得多。在Python中,您的JS代码可以替换为:</p>
<pre><code>>>> class Foo(object):
... pass
>>> foo = Foo()
>>> foo.bar = 1
>>> foo.foobar = 2
</code></pre>
<p>然后还可以动态地添加方法</p>
^{pr2}$
<p>对于比lambdas更复杂的方法,可以将它们声明为函数,并且它们可以访问foo本身,没有问题:</p>
<pre><code>>>> def mymethod(self, bar, foobar):
... self.bar = bar
... self.foobar = foobar
>>> foo.mymethod = mymethod
>>> foo.mymethod(1,2)
>>> foo.bar
1
>>> foo.foobar
2
</code></pre>
<p>或者就这件事而言:</p>
<pre><code>>>> mymethod(foo, 3, 4)
>>> foo.bar
3
>>> foo.foobar
4
</code></pre>
<p>同样的事情。在</p>
<p>因此,正如您所看到的,用Python执行您的示例几乎非常简单。问题是为什么。:)我是说,这样会更好:</p>
<pre><code>>>> class Foo(object):
... def __init__(self, bar, foobar):
... self.bar = bar
... self.foobar = foobar
... def method(self, x):
... return x**2
</code></pre>