[Python-ideas] 'const' and 'require' statements

Bruce Leban bruce at leapyear.org
Fri Jan 18 07:04:53 CET 2013


On Thu, Jan 17, 2013 at 8:52 PM, Steven D'Aprano <steve at pearwood.info>wrote:

> On 18/01/13 12:52, Harding, James wrote:
>
>> The first idea is for a 'const' statement for declaring constant names.
>> Its syntax would be:
>>
>>      'const' identifier '=' expression
>>
>> The expression would be restricted to result in an immutable object
>>
>
> What is the purpose of this restriction?
>
> I would like to see the ability to prevent rebinding or unbinding of
> names, with no restriction on the value. If that is useful (and I think
> it is), then it is useful for mutable objects as well as immutable.
>
>
Java has a keyword 'final' which means a variable must be bound exactly
once. It is an error if it is bound more than once or not bound at all, or
read before it is initialized. For example, if a class has a final
non-static field foo, then the constructor *must* set foo. A final value
may be immutable.

http://en.wikipedia.org/wiki/Final_(Java)

This catches double initialization errors among other things.

I don't know if final belongs in Python, but I'd find that more useful than
const.

--- Bruce
http://bit.ly/yearofpuzzles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20130117/7b5bd520/attachment.html>


More information about the Python-ideas mailing list