I don't see why you couldn't. I guess what they do depends if any of these have 
defaults? Which I think they do not in this case, right?
If they were non vanilla dictionaries that had a default e.g. 

class SomeDict(dict):
    def __getitem__(self, item=None):
        return super().__getitem__(item)

    def __contains__(self, item=None):
        return super().__contains__(item)

print(b[1]) would still print Undefined because print's first argument doesn't 
have a default.
a in c would be False.
c[a] would return c[None], which would raise an error here because None isn't 
in the mapping

Again, I am not pro this idea, just answering the questions you're asking as I 
see them :)
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/ZR36EZY6DVV6TG4ECWLTVR2GDLKAQPT2/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to