[Python-Dev] AC Derby and accepting None for optional positional arguments (original) (raw)

MRAB python at mrabarnett.plus.com
Thu Jan 16 13:21:19 CET 2014


On 2014-01-16 05:32, Larry Hastings wrote: [snip]

In the specific case of SHA1new's "string" parameter, we could lie and claim that the default value is b''. Internally we could still use NULL as a default and get away with it. But this is only a happy coincidence. Many (most?) functions like this won't have a clever Python value we can trick you with.

What else could we do? We could add a special value, let's call it sys.NULL, whose specific semantics are "turns into NULL when passed into builtins". This would solve the problem but it's really, really awful. Would it be better if it were called "null"?

The only other option I can see: don't convert SHA1new() to use Argument Clinic, and don't provide introspection information for it either.

Can you, gentle reader, suggest a better option?

//arry/ p.s. Ryan's function signatures above suggest that he's converting code from using PyArgParseTuple into using PyArgParseTupleAndKeywords. I don't think he's actually doing that, and if I saw that in patches submitted to me I would ask that it be fixed.



More information about the Python-Dev mailing list