An exercise to help build the right mental model for Python data. The “Solution” link uses memory_graph to visualize execution and reveals what’s actually happening:
An exercise to help build the right mental model for Python data. The “Solution” link uses memory_graph to visualize execution and reveals what’s actually happening:
5 Comments
KindaABigDyl@programming.dev · 3 pts · 290d
Another reason why raw pointers are superior to object nonsense
Isn't "explicit is better than implicit" part of the Zen of Python?
gedhrel@lemmy.world · 1 pts · 289d
Eh? You might suggest it's another reason why persistent (aka immutable) data-structures have merit; but this is raw pointers.
logging_strict@programming.dev · -1 pts · 289d
Not everyone is a C or a Rust coder. In C, sending in a pointer, know it's pass by reference, not pass by value.
In Python, depends if it's immutable or mutable. Python coders eventually become hyper aware of the difference.
Python coders that want direct access to C libraries can use Cython CPython or ctypes. Probably missing a few options. Maybe others can chime in. This comes at the expense of much more complicated packaging.
Any package author that has underlying C code in their package automagically gains rock star status.
logging_strict@programming.dev · 3 pts · 289d
For those with:
ancient browsers that won't run that memory graph web debugger
the attention span of a pigeon and can't be bothered to read a long explanation that doesn't address this particular pycon
copy.deepcopymakes a separate memory copy intoc6. So appending toc6affectsc6, but notalogging_strict@programming.dev · 2 pts · 289d
This is what i get when click Play button
From console