3 ms·
Ned always has fantastic articles, and the way this is lays out the mutable values name relationship, is it just lazy programming that has multiple names pointi
by topherjaynes 13y ago
Ned always has fantastic articles, and the way this is lays out the mutable values name relationship, is it just lazy programming that has multiple names pointing to the same mutable value(s) or are their specific cases when that would make since to have list(a) list(b) point to the same value(s)?
- jerf 13y agoBecause of the stuff mentioned later, that function application, for loops, and all kinds of other things are fully "assigment" as well, Python is just flinging around all kinds of names all over the place (it is essentially what a Python program is in many ways) and it is inevitable that there is no one-to-one mapping, and that duplications will happen all the time. After all, x = 1 y = [x, 2] for z in y: "naturally" creates a duplicate binding on the value of x, without anything as crass as "x = y = []". As is always the case of a three-line example in a little post, when found in the wild this can be a much more hidden thing in the middle of a 50-line function. (Which of course nobody ever writes because all 50-line functions are too long, and therefore, no 50-line functions actually exist. But if they did, this sort of thing would happen in them all the time.)