Я запутался в следующих трех кодах.
1. Первый для меня интуитивно понятен, поскольку я видел (B):
(A)
def change (mylist):
mylist[0] = 33
mylist[1] = 44
mylist[2] = 55
print("inside the function",mylist)
alist = [10,20,30]
change(alist)
print("outside the function",alist)
вывод:
внутри функции [33, 44, 55]
вне функции [33, 44, 55]
2.Как я видел (B), я с трудом могу сказать разницу (A) и (B).
(B)
def change2 (mylist):
mylist = [33,44,55]
print("inside the funcion",mylist)
blist = [10,20,30]
change2(blist)
print("outside the funcion",blist)
вывод:
внутри функция [33, 44, 55]
вне функции [10, 20, 30]
3. затем третий (C), и я не могу понять почему «а» нельзя изменить на 5.
(C)
def change3(mylist,number):
mylist[0] = 33
mylist[1] = 44
mylist[2] = 55
number = 5
print("inside the function",mylist,number)
clist = [10,20,30]
a = 50
change3(clist,a)
print("outside the function",clist,a)
вывод:
внутри функции [33, 44 , 55] 5
вне функции [33, 44, 55] 50
Я знаю, что они могут иметь что-то с изменчивой или неизменной концепцией, но я не знаю четкой концепции, стоящей за три кода. Может ли кто-нибудь объяснить их? спасибо.