美文网首页
python的赋值机制

python的赋值机制

作者: 一百万个不确定 | 来源:发表于2019-06-19 17:46 被阅读0次

    python的一切是对象

    不只是变量是对象,python的一切都是对象

    >>> print(300)
    300
    

    这个代码会做三件事情

    1,生成一个int对象

    2,把300的值赋给int对象

    3,在console里面打印300

    可以从如下代码里面看出300为int的实例

    >>> type(300)
    <class 'int'>
    

    python的赋值是传递引用

    python的变量是一个符号,是实例的引用

    >>> n = 300
    

    这个语句会创造一个300的int实例,并且让变量n指向到这个实例

    1560501698235.png

    使用如下代码来验证想法

    >>> id(300)
    140261438010384
    >>> n=300
    >>> id(n)
    140261438010384
    >>> type(n)
    <class 'int'>
    >>> print(n)
    300
    

    可以看到 对象300的地址 和 变量n的地址是一样的

    注释:id() 函数用于获取对象的内存地址。

    python多变量指向同一个对象

    如下代码

    >>> m=n
    >>> id(n)
    140261438010384
    >>> id(m)
    140261438010384
    
    1560502218220.png

    如果重新给m赋值,那么m会把自己的指针指向新实例

    >>> m=400
    >>> id(m)
    140261438010352
    >>> id(n)
    140261438010384
    
    1560502329594.png

    如果n再重新赋值,那么会没有变量指向实例300

    >>> n='foo'
    >>> id(n)
    140261438037944
    >>> id(m)
    140261438010352
    
    1560502424596.png

    相关文章

      网友评论

          本文标题:python的赋值机制

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