How can I force the use-only-after-declaration?
Lexy Zhitenev
zhitenev at cs.vsu.ru
Thu Dec 19 07:48:24 EST 2002
> Hi!
>
> In other languages, I am used to declare variables before the use.
> The translators for those languages give me an error/warning if I use a
> variable that has not been declared.
>
> Example (C-like syntax):
>
> ...
>
> int a, c;
>
> a = 100; /* Ok! */
> b = 200; /* Error! */
> c = 300; /* Ok! */
>
> ...
>
> There is a way to emulate it using Python?
>
In Python 2.2 you can define some slots in a class and access them. When you
try to access an undefined slot, you get an AttributeError. This is is a bit
tricky and classes are somewhat slower than ordinary variables. But if you
need it, look here.
>>> class somestruct(object):
... def __init__(self):
... self.__slots__ = ['a','c']
>>> r = somestruct()
>>> r.a = 1
>>> r.c = 'Hi!'
>>> r.b = ['a']
Traceback bla-bla-bla AttributeError.
I could have missed some syntax formalities (I don't have Python here), but
the idea is this like.
Regards, Lexy.
More information about the Python-list
mailing list