On Sat, Nov 8, 2008 at 12:19 PM, Terry Reedy <tjreedy@udel.edu> wrote:
Bruce Leban wrote:

There *is* one guaranteed way of ensuring that I can't use a variable's value: leaving it unbound.

This Perl, etc. concept does not fit Python's name-object model.  A Python mappings and sequences cannot have a key or index without a value.  To propose otherwise is a major conceptual change.

tjr

What I would expect (as a programmer) is that when the parameter is omitted, the variable is simply not bound and therefore it's omitted from the mapping, not added to the mapping with a special magic value meaning unbound.

However, there is an implementation complication due to the way variable scoping works in Python: if a variable is left unbound in the function locals, then references to that variable name would pick up the global if it exists which would definitely be a surprising result. So I agree that there would definitely be some complexities to implement this.

--- Bruce