This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Lucretiel
Recipients Lucretiel
Date 2015-03-12.21:31:49
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1426195909.5.0.733462239813.issue23653@psf.upfronthosting.co.za>
In-reply-to
Content
A common Python idiom is to test objects by value in an if. This includes container emptiness and regular expression matches, or using 'or' to specify a default value:

    if my_list:
        # list isn't empty
    if regex.match(string):
        # string matched the regex
    my_list = arg or [1,2,3]

It'd be nice if we could use this idiom with inspect.Signature._empty or inspect.Parameter.empty:

    sig = signature(func)
    for param in sig.parameters.values():
        if param.annotation:
            ...

or, to use a the example that motivated this idea:

    def arg_type(param):
        return param.annotation or str

The only issue I can think of is that, if an annotation or default value is some False value, like None, than the test will fail even if the value isn't _empty. However, this issue already exists for other uses of this idiom, and I think this is a perfect extension of the form.
History
Date User Action Args
2015-03-12 21:31:49Lucretielsetrecipients: + Lucretiel
2015-03-12 21:31:49Lucretielsetmessageid: <1426195909.5.0.733462239813.issue23653@psf.upfronthosting.co.za>
2015-03-12 21:31:49Lucretiellinkissue23653 messages
2015-03-12 21:31:49Lucretielcreate