- 主题:请教个传参数的问题
全站审核中,暂不能查看本文内容...
全站审核中,暂不能查看本文内容...
谢谢,不过还是不太理解为什么每次调用fun时lst会绑定到同一个对象上。这个对象是在函数外部定义的么?不是local的?所以在fun执行结束后还存在,是么?
【 在 milksea 的大作中提到: 】
: 因为:
: 1、Python 和很多语言一样,变量(包括函数变元)是引用语义的,即变量是对实际对象的一个引用(或者说绑定),对变量的赋值(包括传参)也不会新建一个对象,而是把变量重新引用(绑定)到等号右边的新对象上。
: 2、函数的默认参数的求值,是在定义时一次进行,而不是在每次调用时都进行。
: ...................
--
FROM 114.248.232.20
原来如此 不过还是感觉有点奇怪。。
【 在 milksea 的大作中提到: 】
: 这个对象是函数定义处产生,定义只有一次,所以对象也只有一个。不是函数被调用处。
: 【 在 lilnelse 的大作中提到: 】
: : 谢谢,不过还是不太理解为什么每次调用fun时lst会绑定到同一个对象上。这个对象是在函数外部定义的么?不是local的?所以在fun执行结束后还存在,是么?
: ...................
--
FROM 114.248.232.20
多谢
【 在 beep 的大作中提到: 】
: 【 在 lilnelse (不折腾) 的大作中提到: 】
: : 标 题: 请教个传参数的问题
: : 发信站: 水木社区 (Thu Dec 31 22:30:08 2020), 站内
: ...................
--
FROM 114.248.232.20
谢谢
【 在 foliver 的大作中提到: 】
: 其实和传值还是传引用没有关系。
:
: 本质是形参和实参的区别。有了默认值,形参就变成实参了。没有默认值,就是从外部传入实参。另外就是变量的作用域。我觉得是python的bug。
: ...................
--
FROM 114.248.232.20