[问题] a+=b VS a = a+b 差异(solved)

楼主: znmkhxrw (QQ)   2019-04-04 14:43:08
原本认为 a+=b 跟 a=a+b 是一样的东西
但是在函数里配上int或是list就不一样了...
【整数】
def f(int):
int += 1
def g(int):
int = int + 1
a = 0
f(a)
print(a)
作者: mirror0227 (镜子)   2019-04-04 14:58:00
是local没错 但物件的话存的是指标
作者: TitanEric (泰坦)   2019-04-04 15:00:00
老问题 list跟dict等物件在function是pass by reference 跟 JS一样
作者: mythnc (迷小心)   2019-04-04 15:10:00
https://stackoverflow.com/a/43785469python是dynamic typing,+=跟=不全然一样
作者: jiyu520 (不要鲫鱼我)   2019-04-04 20:01:00
相关的还有deepcopy应用
作者: BZnoo (Uba)   2019-04-05 22:12:00
后段 list 例中的 def g(int): 应先改成 def g(lst): 吧?

Links booklink

Contact Us: admin [ a t ] ucptt.com