Steven D'Aprano added the comment:

I'm afraid that you are mistaken about Python's argument passing semantics. 
Arguments are *always* passed using the same semantics, and *never* using 
either pass-by-value or pass-by-reference.

These two pages may help you understand why Python's argument passing semantics 
are always the same:

http://import-that.dreamwidth.org/1130.html
http://effbot.org/zone/call-by-object.htm

(Unfortunately, although this is the standard argument passing semantics used 
in many modern languages, including Python, Java and Ruby, there is no standard 
name for it.)

Augmented assignment is sometimes a little tricky to understand, because it may 
use both in-place mutation and assignment at the same time. But arguments are 
still always passed the same way.

If you have a concrete suggestion for a documentation change that will help 
reduce this confusion, please tell us. Otherwise, I think this issue can be 
closed. This is not the right place to discuss Python's argument passing 
semantics, but if you would like to discuss it, I'm happy to do so in the 
comments on the first link, or on the python-l...@python.org mailing list.

----------
nosy: +steven.daprano

_______________________________________
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

Reply via email to