|
|
|
|
|
by zahlman
329 days ago
|
|
> I think “everything is by reference” is a better model for programming than “you need to learn which objects are by reference and which are by value”. The model is: everything is a reference (more accurately, has reference semantics); and is passed by assignment ("value", in older, cruder terms). > but if it weren’t for bad design like `+=` that wouldn’t be necessary. A object would be mutable if-and-only-if it supported mutating methods. `+=` is implemented by `__iadd__` where available (which is expected to be mutating) and by `__add__` as a fallback (https://stackoverflow.com/questions/2347265). The re-assignment of the result is necessary to make the fallback work. Reference for your "major wtf" is https://stackoverflow.com/questions/9172263. |
|