Issue 36393: python user define function is replacing variable value
I have created function "listappend():"with two arguments.Function can append list value with each function call and return updated value. I am trying to store this updated value into variable which I can but when I call listappend() to update it changes the stored variable value every time when I call a function. You can see in below given example, list value is [10,20,30] and I have stored with value 40 in varible x. so now x is [10,20,30,40]. I called function with new list value with [50] now it become [10,20,30,40,50] and the value of x is replaced with new value. Even if you store x into a new variable and call listappend() again with new value then it will replace the value of new variable. >>> def listappend(a,list=[]): ... list.append(a) ... return list ... >>> listappend(10) [10] >>> listappend(20) [10, 20] >>> listappend(30) [10, 20, 30] >>> x = listappend(40) >>> print(x) [10, 20, 30, 40] >>> y = listappend(50) >>> print(y) [10, 20, 30, 40, 50] >>> z = listappend(60) >>> print(z) [10, 20, 30, 40, 50, 60] >>> print(x) [10, 20, 30, 40, 50, 60] >>> print(y) [10, 20, 30, 40, 50, 60] >>> print(z) [10, 20, 30, 40, 50, 60] >>>