※ 引述《LessonWang (橘白Cat)》之銘言:
→ zerof: pass by reference. 07/18 13:53
→ uranusjr: 跟 C 沒有關係吧, 也不是 pass by reference 不要亂教.. 07/18 15:44
→ zerof: http://imgur.com/TDlJMiJ ??? 所以是 by value? 07/18 17:45
→ uranusjr: @zerof: By reference 和 by value 的差異不是這樣看的 07/18 21:10
→ uranusjr: 這個議題去 Google 就有一堆資料, 可以試著研究看看 07/18 21:12
→ s860134: 我記得書上是說根據傳入參數 mutable/immutable 來分 07/19 02:03
→ s860134: 當然你說最底層的實做是用 C 一定是指標只來只去拉... 07/19 02:04
→ zerof: 認知就是 by ref, 你要不要貼個參考資料說它不是? 07/19 02:06
→ s860134: stackoverflow 986006 也是討論得亂七八糟XD 07/19 02:21
→ s860134: https://goo.gl/aXGATb 07/19 02:24
啊你的認知就是錯的啊, 我就說 Google 就有一堆資料了你都沒有在聽嘛
https://www.google.com.tw/?q=python+call+by+reference
就看前五個結果好不好
1. https://stackoverflow.com/questions/986006
這個上面也有提到, 直接看 accepted answer (同時也是分數最高)
Arguments are passed by assignment. [...] the parameter passed in is
actually a reference to an object (but the reference is passed by value).
2. https://stackoverflow.com/questions/13299427
[...] while you can't explicitly pass variables by reference in Python [...]
3. http://d.pr/KbZ2AS
Is Python call-by-value or call-by-reference? Neither.
4. http://www.python-course.eu/passing_arguments.php
The authors who call the mechanism call-by-value and those who call it
call-by-reference are stretching the definitions until they fit. Correctly
speaking, Python uses a mechanism, which is known as "Call-by-Object",
sometimes also called "Call by Object Reference" or "Call by Sharing".
5. http://d.pr/GpSU86
Unfortunately, Python is "pass-by-object-reference", of which it is
often said:
"Object references are passed by value."
好啦反正眾說紛紜大家都在發明自己的名詞
但是上面好像是有個共通點就是所有人都一致同意 call/pass by reference 是錯的
大guy4這樣