New submission from Mohammed Mustafa Al-Habshi: hello every one,
I was trying to understand the behavior of passing arguments in a function to differentiate how we can pass argument by value. Though it is a technique matter. However, the behavior of assignment operator += when using it with a list is more to toward behavior to the "append" method of the list object, and not like a a normal assignment. This causes a confusing when teach python language concepts , especially the behavior of += with numerical data types is list normal assignment and the parameters are then passed by value. The issue is more related to data type mutability. and I believe assignment operator should be synthetically more compatible with normal assignment. ---- inline code example ----- def pass_(x): # x is list type print "Within the function" print " x was " , x #x = x + [50] # here x is passed by value x += [50] # here x is passed by reference. #x.append(50) # here x is passed by reference. print " x then is " , x return x = [12,32,12] pass_(x) print "\n x out of the function is " , x ---------- messages: 227761 nosy: alhabshi3k priority: normal severity: normal status: open title: Assignment Operators behavior within a user-defined function and arguments being passed by reference or value type: behavior versions: Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue22511> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com