亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python is 和 ==區(qū)別

系統(tǒng) 1746 0

s 與 == 區(qū)別 :

is 用于判斷兩個變量引用對象是否為同一個, == 用于判斷引用變量的值是否相等。

a is b 相當于 id(a)==id(b), id() 能夠獲取對象的內(nèi)存地址。

如果 a=10;b=a; 則此時 a 和 b 的內(nèi)存地址一樣的;

但當 a=[1,2,3]; 另 b=a[:] 時,雖然 a 和 b 的值一樣,但內(nèi)存地址不一樣。

如果此時定義 a=10、b=10, 然后再對比 a is b 會發(fā)現(xiàn)返回的結果是 True,這是因為在 Python 中會實現(xiàn)創(chuàng)建一個小型的整形池,范圍為 [-5,256],為這些整形開辟好內(nèi)存空間,當代碼中定義該范圍內(nèi)的整形時,不會再重新分配內(nèi)存地址。而我在 Pycharm 中進行測試:

          
            #coding=utf-8
            
              
a
              
                =
                
                  100000000000
                  
                    ;
                    
                       b
                      
                        =
                        
                          100000000000
                          
                            ;
                            
                              
                                print
                                
                                   a 
                                  
                                    is
                                    
                                       b
                                    
                                  
                                
                              
                            
                          
                        
                      
                    
                  
                
              
            
          
        

結果:

          
            True
          
        

后來查了資料才發(fā)現(xiàn)是:Python出于對性能的考慮,但凡是不可變對象,在同一個代碼塊中的對象,只有是值相同的對象,就不會重復創(chuàng)建,而是直接引用已經(jīng)存在的對象。

            >>> a = 1 
            
              #
            
            
              a和b為數(shù)值類型
            
            
>>> b = 1
>>> a 
            
              is
            
            
               b
True

            
            >>>
            
               id(a)

            
            >>>
            
               id(b)

            
            >>> a = 
            
              '
            
            
              cheesezh
            
            
              '
            
            
              #
            
            
              a和b為字符串類型
            
            
>>> b = 
            
              '
            
            
              cheesezh
            
            
              '
            
            
>>> a 
            
              is
            
            
               b
True

            
            >>>
            
               id(a)

            
            >>>
            
               id(b)

            
            >>> a = (1,2,3) 
            
              #
            
            
              a和b為元組類型
            
            
>>> b = (1,2,3
            
              )

            
            >>> a 
            
              is
            
            
               b
False

            
            >>>
            
               id(a)

            
            >>>
            
               id(b)

            
            >>> a = [1,2,3] 
            
              #
            
            
              a和b為list類型
            
            
>>> b = [1,2,3
            
              ]

            
            >>> a 
            
              is
            
            
               b
False

            
            >>>
            
               id(a)

            
            >>>
            
               id(b)

            
            >>> a = {
            
              '
            
            
              cheese
            
            
              '
            
            :1,
            
              '
            
            
              zh
            
            
              '
            
            :2} 
            
              #
            
            
              a和b為dict類型
            
            
>>> b = {
            
              '
            
            
              cheese
            
            
              '
            
            :1,
            
              '
            
            
              zh
            
            
              '
            
            :2
            
              }

            
            >>> a 
            
              is
            
            
               b
False

            
            >>>
            
               id(a)

            
            >>>
            
               id(b)

            
            >>> a = set([1,2,3])
            
              #
            
            
              a和b為set類型
            
            
>>> b = set([1,2,3
            
              ])

            
            >>> a 
            
              is
            
            
               b
False

            
            >>>
            
               id(a)

            
            >>> id(b)
          

只有數(shù)值型和字符串型的情況下,a is b才為True,當a和b是tuple,list,dict或set型時,a is b為False。

?


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲国产精品线播放 | 欧美日韩中文在线 | 国产成人亚洲精品乱码在线观看 | 狠狠色狠狠色综合 | 国产成人精品影院狼色在线 | 亚洲国产成人久久精品图片 | 成人国产午夜在线视频 | 免费h片 | 波多野结衣精品一区二区三区 | 91久久夜色精品国产九色 | 成人老司机深夜福利久久 | 搡女人免费的视频 | 天天操夜夜操狠狠操 | 91精品国产视频 | 国产成人精品一区二三区 | 香蕉视频免费在线 | 久草视频福利在线观看 | 老子影院午夜伦不卡 | 天天干天天操天天干 | 精品国产一区二区三区香蕉事 | 日本xoxo在线观看免费 | 中文字幕亚洲精品第一区 | 国产在线观看一区二区三区四区 | 亚洲日韩aⅴ在线视频 | 看一级特黄a大片日本片 | 国产欧美久久久精品 | 91成年人| 美女黄www视频 | 国产成人一区二区三区免费观看 | 女胁师~牝奴隷调教 | 超高清欧美videos360 | 国产精品永久免费视频 | 亚洲精品视频久久久 | 夜夜天天操 | 亚洲一区二区视频在线观看 | 九九影院在线观看 | 精品一成人岛国片在线观看 | 国产一国产一级毛片视频在线 | 一国产大片在线观看 | 91在线观| 免费精品精品国产欧美在线 |