New submission from Nathan West: 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. ---------- components: Library (Lib) messages: 237987 nosy: Lucretiel priority: normal severity: normal status: open title: Make inspect._empty test to False type: enhancement versions: Python 3.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23653> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com