Maric Michaud wrote:

It is, please try to understand it, in python all expressions that mutate an object should return None,

You are over-generalizing. For builtin classes, mutation methods return none. Guido recommends this as a general practice, but users may do whatever they like in their own classes. In fact, people have been told that if they do not like the built-in behavior, they should make their own, possibly by subclassing.

For augmented assignment, in-place mutation followed by rebinding is explictly allowed and done for lists.

all expressions that return something, return a new object

Nonesense. There is nothing in the ref manual that says this and parts that say otherwise.

there are some noticeable exceptions :

They are only exceptions to your rule, not to the language specification.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to