鱼C论坛

 找回密码
 立即注册
查看: 3035|回复: 6

【Python入坑记】看不懂这题

[复制链接]
发表于 2015-12-24 05:34:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
【Rt,这个代码写的我看不懂,为啥会这样?求解】

QQ截图20151224053025.png

细思恐极啊啊啊啊

最后致谢各位鱼油....Orz
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-24 09:29:10 | 显示全部楼层
我想在函数定义里加一句print可能更好理解。
  1. >>> def add_end(L=[]):
  2.         print(id(L))
  3.         L.append('END')
  4.         return L

  5. >>> add_end()
  6. 49674160
  7. ['END']
  8. >>> add_end()
  9. 49674160
  10. ['END', 'END']
  11. >>> add_end()
  12. 49674160
  13. ['END', 'END', 'END']
  14. >>> add_end([1,2,3])
  15. 42912744
  16. [1, 2, 3, 'END']
  17. >>> add_end([1,2,3])
  18. 49672600
  19. [1, 2, 3, 'END']
  20. >>>
复制代码

如调用为空时,总是指向一个地址,所以每次都添加一个end
调用是有内容的列表时,则生成一个新地址,就不会重复添加end了。

评分

参与人数 1荣誉 +3 鱼币 +5 收起 理由
~风介~ + 3 + 5 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-24 09:10:48 | 显示全部楼层
具体哪部分不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-24 09:17:58 | 显示全部楼层
这在廖雪峰的网站上有解释,但理解起了还是有些困惑,记住一点“定义默认参数要牢记一点:默认参数必须指向不变对象!”
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-24 19:07:17 | 显示全部楼层
冬雪雪冬 发表于 2015-12-24 09:29
我想在函数定义里加一句print可能更好理解。

如调用为空时,总是指向一个地址,所以每次都添加一个end

太腻害了,终于懂了,茅塞顿开,谢谢你!!!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-24 19:07:56 | 显示全部楼层

现在懂了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-24 19:18:45 | 显示全部楼层
WURUNCHENGCHENG 发表于 2015-12-24 19:07
太腻害了,终于懂了,茅塞顿开,谢谢你!!!!!

感觉你讲的比廖老师更清楚!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-18 21:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表