[Tutor] Python vs. MATLAB

Wayne Werner waynejwerner at gmail.com
Mon Dec 6 18:53:45 CET 2010


On Mon, Dec 6, 2010 at 11:09 AM, Joel Schwartz <joel at joelschwartz.com>wrote:

> Chris,
>
> Can you say more about number (7) in your list? What does "pass by value"
> mean and what are the alternatives?
>

Pass by value is exactly what it sounds like - you pass the value (a copy of
everything in the memory). This is bad when you're passing a 10,000 item
list to a function - because you now have *two* 10,000 item lists. It's even
worse when you have many times that amount of data.

Python, OTOH passes by reference - instead of copying the list, a pointer to
the list is passed, so when you see something like this:

def do_something(a_list):
    a_list[2] = 4

mylist = [1,2,3,4]
do_something(mylist)

now mylist is:

[1,2,4,4].

This is much more efficient (although it tends to bite novice programmers!).

HTH,
Wayne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20101206/68259841/attachment.html>


More information about the Tutor mailing list