美文网首页基础能力
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