A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2006-May/064731.html below:

[Python-Dev] signature object issues (to discuss while I am out of contact)

[Python-Dev] signature object issues (to discuss while I am out of contact)Edward Loper edloper at gradient.cis.upenn.edu
Mon May 1 20:40:31 CEST 2006
Brett Cannon wrote:
> The second question is whether it is worth providing a function that
> will either figure out if a tuple and dict representing arguments
> would work in calling the function.  Some have even suggested a
> function that returns the actual bindings if the call were to occur. 
> Personally I don't see a huge use for either, but even less for the
> latter version.  If people have a legit use case for either please
> speak up, otherwise I am tempted to keep the object simple.

One use case that comes to mind is a type-checking decorator (or 
precondition-checking decorator, etc):

@precondition(lambda x,y: x>y)
@precondition(lambda y,z: y>z)
def foo(x, y, z): ...

where precondition is something like:

def precondition(test):
     def add_precondition(func):
         def f(*args, **kwargs):
             bindings = func.__signature__.bindings(args, kwargs)
             if not test(**bindings):
                 raise ValueError, 'Precontition not met'
             func(*args, **kwargs)
         return f
     return add_precondition

-Edward
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4