Larry Hastings added the comment: I think these shouldn't be "int", they should be "bool". "bool" will allow you to use a default of False. It maps to the "p" format unit, which was new in 3.3.
Back before 3.3, when someone wanted a boolean they just used "i", and relied on the fact that True turned into 1 and False turned into 0. (Even more so before 2.2, when we didn't even have True and False.) In theory it's a semantic change, because "i" only accepts ints (and True/False), whereas "p" will accept floats, lists, tuples, dicts, sets... anything with a __bool__. But the intent of code like this is clear, it's only interested in true/false. And Python has well-established rules for what is considered a true and false. So I feel like this change is an improvement. ---------- resolution: -> wont fix stage: -> committed/rejected status: open -> closed _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue20282> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com