[New-bugs-announce] [issue36393] python user define function is replacing variable value

Hardik report at bugs.python.org
Thu Mar 21 18:59:11 EDT 2019


New submission from Hardik <hardik172 at gmail.com>:

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]
>>>

----------
components: macOS
files: logical Er
messages: 338568
nosy: HardikPatel, ned.deily, ronaldoussoren
priority: normal
severity: normal
status: open
title: python user define function is replacing variable value
type: enhancement
versions: Python 3.7
Added file: https://bugs.python.org/file48227/logical Er

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue36393>
_______________________________________


More information about the New-bugs-announce mailing list