python2.7中赋值运算符的含义

时间:2016-09-07 05:20:12

标签: python python-2.7

我执行以下操作:

a=12345

我正在努力解决这个问题。请回答以下问题。

  1. 指向内存地址12345 (真/假)

  2. 如果我做b = 12345。然后b也指向12345的记忆地址 (真/假)

  3. 我已经读过,在b指向之后,12345的引用计数应该增加1。 (真/假)

  4. 如何检索12345的内存地址。我想检查a和b是否都指向12345的地址。请澄清

  5. 我尝试使用id函数(它只显示< = 255 range的相同内存位置)

1 个答案:

答案 0 :(得分:1)

  1. " a指向内存地址12345(真/假)"

    真。

  2. "如果我做b = 12345。然后b也指向12345的记忆地址(真/假)"

    也许。如果您已分配b=a,则b将指向与a相同的内存位置。对于b=12345,答案是未知的:内存中可能有多个12345副本。

  3. "我已经读过,在b指向它后,12345的引用计数应该增加1。 (真/假)"

    如果ab指向同一位置,则为真:见上文。

  4. &#34;我如何检索12345的内存地址。我想检查a和b是否都指向12345的地址。请澄清。&#34; < / p>

    要检查ab是否指向相同的内存位置,请使用is中的a is b。例如,在下文中,ab指向不同的内存位置:

    >>> a = 12345
    >>> b = 12345
    >>> a is b
    False
    

    相反,在下文中,它们指向相同的位置:

    >>> a = 1
    >>> b = 1
    >>> a is b
    True
    
相关问题