zoukankan      html  css  js  c++  java
  • 你真的知道python 的 iS 和 == 吗?

    关于python的运算符 is 和  ==,你会觉得很简单嘛,is不就是判断,内存地址是否相等吗,

    ==不就是判断值是否相等嘛,有什么难的。对,确实简单,但看看下面的:

     

     如果  我这样写,a = 5,b= a ,这样很容易理解阿,b指向a指向的内存地址,a is b 是True 很容易理解阿

    但是,我是a = 1, b= 1,难道不应该再开一个内存嘛,应该 a is b 是F阿,既然是True,只能说明,a 和b的

    内存地址是一样的了,但又看下面,怎么就不是Flase了,这就很奇怪了,我当时就在想,难道python内部已

    经存在这些值的内存地址了嘛,没错,python内部有一个常见的数据的池,整数是-5到255,也就是说,a = 300,

    b = 300, a is b 是F了,这样也就说的通了,关于字符串为啥一样,大家可以思考一下,内存地址是肯定一样的

    应该就是python内存的机制吧

    是这样的 呵呵

     == 就很简单了,只要值一样就行了

          

        

  • 相关阅读:
    [译]git reflog
    [译]git rebase -i
    [译]git rebase
    [译]git commit --amend
    [译]git clean
    [译]git reset
    [译]git revert
    [译]git checkout
    [译]git log
    [译]git status
  • 原文地址:https://www.cnblogs.com/liqiangwei/p/13848206.html
Copyright © 2011-2022 走看看