美文网首页基础能力
python 中的可变与不可变变量

python 中的可变与不可变变量

作者: 闻人歌 | 来源:发表于2018-05-10 15:09 被阅读47次
  • 在python 中,字符串,元组,数字不可变;而列表,字典可变

  • 接下来看3段代码:

 a = 100
 def test1(num):
     num += num
     print(num)

 test1(a)
 print(a)

执行结果为:

200
100

变量为数字的时候不可变的,在test1函数中发现num 不可修改,就在函数内部创建一个局部变量num ,不会修改全局变量 a ,所以num = 200, a = 100

 a = [100]
 def test2(num):
     num += num
     print(num)

 test1(a)
 print(a)

执行结果为:

[100, 100]
[100, 100]

在test2中,列表是可变的.a和num都指向同一个地址,在num 更改后,这块的内容也会更改,所以a也会改变

a = [100]
 def test3(num):
     num = num + num
     print(num)

 test1(a)
 print(a)

执行结果为:

[100, 100]
[100]

在test3 中,num = num + num 中有'=',而'+='是复合运算符,num本来和a指向同一块地址,在num + num 后,num -> [100, 100],而a -> [100]

相关文章

网友评论

    本文标题:python 中的可变与不可变变量

    本文链接:https://www.haomeiwen.com/subject/abjzrftx.html