declaration of variables?

Carl Banks imbosol-1045437390 at
Mon Feb 17 00:28:56 CET 2003

Brian Quinlan wrote:
> > And I do think that declaring a variable isn't that much of a hassle,
>> atleast not of the magnitude you (and others) make it out to be. 
>> Chasing down "strange" errors is.
> Declaring variables in Python would severely reduce its dynamic nature.
> The complete set of variables need might not be known at compile-time,
> so how could they be declared?

This isn't a valid counterargument, at least for function locals.  The
Python compiler does determine all the local variables used in a
function at compile time.  Declarations merely force the human
programmer to do something the compiler could do automatically, all
for the sake of catching an occasional typo.

> As an example, imagine that I write a RPC
> client that must be able to receive proxies to object instances. How
> would I know what variables that object has at compile-time?

Those are attributes, not variables.  I don't believe the OP was
suggesting that we be able to declare attributes; and if he were, we
could tell him that Python optionally allows that with __slots__.

> I also
> might want to do something wacky like write a module that exposes
> environment variables as globals (like PHP does). How would I know what
> variables I need a compile-time?

Well, globals are attributes of a module, but they kind of behave like
variables when in the module's scope.  I don't know if the OP was
suggesting declarations in the global scope, or just the local scope,
but global declarations would certainly interfere with Python's
dynamic nature.


More information about the Python-list mailing list