Easy questions from a python beginner

Alf P. Steinbach /Usenet alf.p.steinbach+usenet at gmail.com
Mon Jul 12 20:06:39 EDT 2010


* Steven D'Aprano, on 13.07.2010 01:50:
> On Mon, 12 Jul 2010 22:57:10 +0200, Alf P. Steinbach /Usenet wrote:
>
>> Existence of a variable means, among other things, that
>>
>>     * You can use the value, with guaranteed effect (either unassigned
>>     exception
>>       or you get a proper value): in particular, you won't be accessing a
>>       global if you're using the name of a local declared by a later
>>       assignment.
>
> That is too strong. Given the global code:
>
> x
>
> (where x doesn't exist in the global namespace, and therefore does not
> exist, as you agreed earlier) Python promises to raise NameError. By the
> above definition, this counts as "variable x exists".
>
> But surely that is undesirable -- that implies that *all* variables
> exist. Even $%@*@( is a variable that exists, as that is guaranteed to
> raise SyntaxError.

Hm, I already answered someone else here committing that logic error.

In one case an exception is generated by removing a variable.

In the other case an exception is generated by adding a variable.


Cheers & hth.,

- Alf

-- 
blog at <url: http://alfps.wordpress.com>



More information about the Python-list mailing list