3 ms·
x=x.append(1) and guess what, now x is "None", yes it makes perfect sense for those who coded python for a while, but it's a disaster for newcomers. too many s
by ausjke 7y ago
x=x.append(1) and guess what, now x is "None", yes it makes perfect sense for those who coded python for a while, but it's a disaster for newcomers.
too many similar demos
by the way I actually like python and use it often, just saying it can surprise you when you start, not intuitive per se until you become good at it.
- gridspy 7y agoSure, x.append doesn't return a value. So x=x.append is None. You learn that one pretty quick. Perhaps use x = x + [1] instead? But yeah, surprises like this (unexpected return values) are actually a pretty strong case for using a language like Rust or C++ where the compiler will tell you this before you run the program.
- ausjke 7y agox=1; id(x); x+=1; id(x); # different id, means x points to new location x=[1,2],id(x), x+=[3], id(x) ; # same id, means x stay at the original location there should be a blog page to list those surprises for beginners :)
- heavenlyblue 7y ago>> yes it makes perfect sense for those who coded python for a while, but it's a disaster for newcomers. It’s a disaster for newcomers to programming in general. I am pretty sure a seasoned developer in any other language would understand why that returns None, too.