1、写代码时发现取得变量值,会被覆盖,改为图二的写法后case_id则不会覆盖。

  原因:可以理解为变量是内存中一个对象的“引用”。在函数参数传值时,变量也是内存对象的引用。 当对象为可更改对象时,是引用调用,函数内参数的改变会影响到原始对象。 当对象为不可更改对象时,就只是相当于传值调用。此处定义的函数为字典和列表类型,所以是引用调用。当字典改变时,变量在内存地址中发生改变。所有引用该变量的也会发生改变

python -- 犯过的错之变量作用域

                                       图 一

 

python -- 犯过的错之变量作用域

 

                         图 二

 

2、

 

相关文章:

  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
  • 2021-08-17
  • 2021-07-21
  • 2021-10-20
猜你喜欢
  • 2021-11-20
  • 2021-09-01
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案