擅长:python、mysql、java
<p>我对字符串方法不满意,所以做了一些测试。这似乎很有效,避免了传递字符串:</p>
<pre><code>import types
# Our test class
class Class:
def __init__(self, val):
self._val = val
def method(self):
return self._val
@property
def prop(self):
return self._val
# Get the member pointer equivalents
m = Class.method
p = Class.prop
# Create an instance
c1 = Class(1)
# Bind the method and property getter to the instance
m1 = types.MethodType(m, c1)
p1 = types.MethodType(p.fget, c1)
# Use
m1() # Returns 1
p1() # Returns 1
# Alternatively, the instance can be passed to the function as self
m(c1) # Returns 1
p.fget(c1) # Returns 1
</code></pre>