作者uranusjr (←这人是超级笨蛋)
看板Python
标题Re: [问题] 关於list的append方法
时间Wed Jul 19 02:51:36 2017
※ 引述《LessonWang (橘白Cat)》之铭言:
1F:→ zerof: pass by reference. 07/18 13:53
2F:→ uranusjr: 跟 C 没有关系吧, 也不是 pass by reference 不要乱教.. 07/18 15:44
4F:→ uranusjr: @zerof: By reference 和 by value 的差异不是这样看的 07/18 21:10
5F:→ uranusjr: 这个议题去 Google 就有一堆资料, 可以试着研究看看 07/18 21:12
6F:→ s860134: 我记得书上是说根据传入参数 mutable/immutable 来分 07/19 02:03
7F:→ s860134: 当然你说最底层的实做是用 C 一定是指标只来只去拉... 07/19 02:04
8F:→ zerof: 认知就是 by ref, 你要不要贴个参考资料说它不是? 07/19 02:06
9F:→ s860134: stackoverflow 986006 也是讨论得乱七八糟XD 07/19 02:21
啊你的认知就是错的啊, 我就说 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这样
--
作者 Linux (Windows) 看板 C_and_CPP
标题 [问题] 如何确认是否 free 对记忆体
时间 Fri Nov 2 00:14:03 2012
11F:→ akasan:valgrind, 但 windowns 版的没试过XD 11/02 00:43
12F:→ akasan:linux 上那真的是不二选择了 11/02 00:44
13F:→ Linux:我是用 Windows ....>"< 11/02 00:45
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.161.19.12
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1500403904.A.E95.html
※ 编辑: uranusjr (218.161.19.12), 07/19/2017 02:52:09
14F:推 brightwish: python宣告变数其实是把物件参照(变数名称)指向物件名 07/19 07:24
15F:→ brightwish: 称(值) 所以是呼叫物件参照 07/19 07:24
16F:推 LessonWang: 真的众说纷纭 ... 07/19 08:26
17F:推 Yshuan: 开发角度上 预设变数都是ref来去预防side effect为佳 07/19 16:36
18F:→ Yshuan: 任何assinment都要有心理预期 上保险不会亏 07/19 16:38