子程序输入词典变量,然后不需要再输出回来,外面的词典变量依然变化,这个是什么原理

随便聊聊 · 629 次浏览
~ZYS~ 创建于 2024-01-12 23:32

子程序输入词典变量,然后不需要再输出回来,外面的词典变量跟随子程序内部变量变化,这个是什么原理来着?

我记得原先看过一个解释是说词典变量和列表变量是引用(之前那个帖子也没再翻到了),需要子程序外面和里面的变量名一致的情况下,就不需要再设置输出了,会同步变化;但是今天试了一下,内外部变量名不一样的情况下,不设置输出,内外两个变量也是同步变化的。

~ZYS~ 最后更新于 2024/1/12

回复内容
沉没的白鲸 2024-01-12 23:45
#1

复杂的变量类型就是会引用的,跟名字无关。如果需要只修改子程序内的词典不想要影响到外面的主程序的词典,可以加一步赋值操作 ,用另一个词典去代替。


沉没的白鲸 最后更新于 2024-01-12 23:46
~ZYS~ 回复 沉没的白鲸 2024-01-12 23:59 :
好嘞,谢谢。因为之前知道这个操作的时候,觉得很神奇,一直是以为需要保持内外部名字一致才会有这个作用,今天突然发现不一样,也能互相影响,再翻之前的帖子找不到了;又学到了一个知识点,可以用赋值来跳过这种情况。
~ZYS~ 最后更新于 2024-01-12 23:59
康必得 2024-01-13 02:30
#2

列表也是这样的,

列表、词典属于可变数据类型,

对其进行修改,其他地方也会跟着变

回复主贴