diff options
author | Bart van Merrienboer <bart.vanmerrienboer@gmail.com> | 2015-01-21 12:34:52 -0500 |
---|---|---|
committer | Bart van Merrienboer <bart.vanmerrienboer@gmail.com> | 2015-01-21 12:34:52 -0500 |
commit | 0170e0da2fa711b74bcfb87dbb1faf02461b5cc2 (patch) | |
tree | fe53e40344211f1f622f7e0bbf98729a61d63dc0 | |
parent | b01d8d7141916c3e7e131d3e9d9947d0ae064fef (diff) | |
download | six-0170e0da2fa711b74bcfb87dbb1faf02461b5cc2.tar.gz |
Introduces a wrapper to create unbound methods.
-rw-r--r-- | documentation/index.rst | 7 | ||||
-rw-r--r-- | six.py | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/documentation/index.rst b/documentation/index.rst index a8632e7..d838e38 100644 --- a/documentation/index.rst +++ b/documentation/index.rst @@ -232,6 +232,13 @@ functions and methods is the stdlib :mod:`py3:inspect` module. requires the *obj*'s class to be passed. +.. function:: create_unbound_method(func, cls) + + Return an unbound method object wrapping *func*. In Python 2, this will return + a :func:`py3:types.MethodType` object. In Python 3 unbound methods do not + exist and this wrapper will return *func*. + + .. class:: Iterator A class for making portable iterators. The intention is that it be subclassed @@ -522,6 +522,9 @@ if PY3: create_bound_method = types.MethodType + def create_unbound_method(func, cls): + return func + Iterator = object else: def get_unbound_function(unbound): @@ -530,6 +533,9 @@ else: def create_bound_method(func, obj): return types.MethodType(func, obj, obj.__class__) + def create_unbound_method(func, cls): + return types.MethodType(func, None, cls) + class Iterator(object): def next(self): |