Python scoping mutable vs immutable

Сначала я начну, как и все остальные. Я новичок в python. Мой учитель дал мне задачу:

def f(a, b, c):  
    a    = 1 
    c    = b 
    c[0] = 2 
a = 10 
b = [11, 12, 13] 
c = [13, 14, 15] 
f(a, b, c) 
print a, b, c

Она выводит:

10 [2, 12, 13] [13, 14, 15]

Я понимаю, что a остается равным 10, потому что целые числа неизменяемы, но я не понимаю, почему b меняется, а c нет.

5
задан Bill the Lizard 21 September 2012 в 17:19
поделиться