擅长:python、mysql、java
<p>免责声明:这不应该用在任何严重的代码,我写它只是为了好玩,甚至不认为它是聪明的。你知道吗</p>
<p>不确定这是否是你想要的(所以请原谅我,如果这是离题),但我真的很享受自己创造这个。你知道吗</p>
<pre><code>class FancyThing(object):
def __init__(self, value):
self.value = value
def update(self, callback):
self.value = callback(self.value)
def __get__(self, instance, owner):
return instance.value
def __set__(self, instance, value):
instance.value = value
def __str__(self):
return str(self.value)
def __add__(self, other):
return self.value + other
</code></pre>
<p>如果你在这个类中包装了一些东西,你可以用任何随机回调<code>update</code>。你知道吗</p>
<pre><code>def some_func(val):
return val * 3
a = FancyThing(3.5)
print a
a.update(tester)
print a
b = a + 5
print b
</code></pre>
<p>输出:</p>
<pre><code>3.5
10.5
15.5
</code></pre>
<p>有趣的是,您必须定义大量的内置方法才能像普通方法一样使用内部值,就像我对<code>__add__()</code>所做的那样。你知道吗</p>