從Python物件三要素來看is和 的區別

2021-08-19 17:49:27 字數 1551 閱讀 2765

從python物件三要素來看is和==的區別

2023年07月06日 17:01:34

閱讀數:412

python物件包含三個基本要素id,type和value:

要素說明

獲取方式

id身份標識,基本就是記憶體位址

id(obj)

type

資料型別

type(obj)

value值標識

名稱判斷因素

is同一性運算子

id==

比較運算子

value

例1

a = 

b = a.copy()

a == b # true value一樣

a is b # false id不一樣

例2
>>> x = y = [4,5,6]

>>> z = [4,5,6]

>>> x == y

true

>>> x == z

true

>>> x is y

true

>>> x is z

false

>>>

>>>

print id(x)

>>>

print id(y)

>>>

print id(z)

例3
>>> a = 1

#a和b為數值型別

>>> 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 = #a和b為dict型別

>>> b =

>>> 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)

通過例3可看出,只有數值型和字串型的情況下,a is b才為true,當a和b是tuple,list,dict或set型時,a is b為false。

VB物件導向的三要素理解。

物件導向比較通俗的解釋 物件使人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可以看做物件,他不僅能表示具體的事物,還能表示抽象的規則,計畫或事件。vb就是使用了物件導向程式設計 oop 方法,從根本上改變了之前的 面向過程的程式設計 oop是以物件為基礎。紀事件驅動物件對事件進行處理的程式...

聲音的三要素跟聲波的幅度 頻率和頻譜的對應關係

聲音的特性可由三個要素來描述,即響度 音調和音色。聲音的高低稱為音調。音調取決於聲源振動的頻率。物體在1秒內振動的次數叫頻率。其單位是赫茲,簡稱赫,符號為hz。物體振動得越快,頻率越大。音調跟發聲體振動的頻率關係是 頻率越大,音調越高 頻率越小,音調越低。人耳對聲音強弱的主觀感覺稱為響度,響度又稱音...

物件導向的三大要素和五大原則

1.三大要素 封裝,繼承,多型 2.五大原則 1 單一職責原則 srp single responsibility principle 乙個類,最好只做一件事,只有乙個引起它變化的原因 舉例 圖書館和宿舍都有桌有椅,為什麼學習還是應該去圖書館?因為宿舍有人看球,有人吃飯,和其他事情,相互干擾,違反了...