第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

python中id和相等的區(qū)別

python中id和相等的區(qū)別

對(duì)象的 是如何id計(jì)算的?https://docs.python.org/3/library/functions.html#id似乎在一個(gè)類中有一個(gè)地方可以進(jìn)行相等,__eq__但是is操作在哪里完成,以及如何id到達(dá)?
查看完整描述

3 回答

?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以將其id(obj)視為對(duì)象的某種地址。它的計(jì)算方式以及值表示的內(nèi)容取決于實(shí)現(xiàn),您不應(yīng)該對(duì)值做出任何假設(shè)。

你需要知道的:

  1. id只要對(duì)象存在,對(duì)象就不會(huì)改變

  2. 兩個(gè)共存的對(duì)象會(huì)有不同id的 s

  3. 一個(gè)對(duì)象可能與id另一個(gè)已經(jīng)被釋放的對(duì)象相同(因?yàn)樗呀?jīng)消失了,它的地址可以被重用)。

  4. a is b相當(dāng)于id(a) == id(b)。

您不能覆蓋id計(jì)算方式,也不能覆蓋is行為方式,就像您覆蓋諸如__eq__.


查看完整回答
反對(duì) 回復(fù) 2022-06-22
?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

對(duì)象的 是如何id計(jì)算的?https://docs.python.org/3/library/functions.html#id

你不知道。這是文檔必須說(shuō)的:

id對(duì)象

返回對(duì)象的“身份”。這是一個(gè)整數(shù),保證該對(duì)象在其生命周期內(nèi)是唯一且恒定的。具有不重疊生命周期的兩個(gè)對(duì)象可能具有相同的id()值。

這就是 Python 做出的所有保證id()

  • 它返回一個(gè)int

  • 沒(méi)有兩個(gè)對(duì)象可以同時(shí)具有相同id()

  • 任何對(duì)象都不能有兩個(gè)不同id()的 s

這就是Python 所做的所有保證。特別是,該文檔明確指出了它不會(huì)做出的一項(xiàng)保證:

  • id()s 在空間和時(shí)間上不是全局唯一的,即兩個(gè)不同的對(duì)象id()在不同的時(shí)間可能有相同的

您還會(huì)注意到,文檔不保證如何id()計(jì)算 。

但是,它確實(shí)這樣說(shuō):

CPython 實(shí)現(xiàn)細(xì)節(jié):這是內(nèi)存中對(duì)象的地址。

這實(shí)際上再次強(qiáng)化id()了這樣一個(gè)事實(shí),即通過(guò)明確聲明這并不能保證如何計(jì)算 s

  • 適用于 CPython,不適用于任何其他實(shí)現(xiàn),例如 PyPy、Jython、IronPython、GraalPython 或 PythonOMR

  • 是一個(gè)實(shí)現(xiàn)細(xì)節(jié),這意味著它可以在任何時(shí)候,出于任何原因,在沒(méi)有警告的情況下進(jìn)行更改

事實(shí)上,除了 CPython 之外的任何實(shí)現(xiàn)實(shí)際上都不可能id()以這種方式實(shí)現(xiàn),因?yàn)樗衅渌麑?shí)現(xiàn)要么有移動(dòng)垃圾收集器(PyPy、PythonOMR),要么根本沒(méi)有“內(nèi)存地址”的概念(Jython ,IronPython,GraalPython)。

似乎在一個(gè)類中有一個(gè)地方可以進(jìn)行相等,__eq__但是is操作在哪里完成,以及如何id到達(dá)?

讓我將其分解為兩個(gè)答案:

操作在哪里is完成

它被定義為 Python 語(yǔ)言規(guī)范的一部分,就像def. 它不會(huì)轉(zhuǎn)化為方法調(diào)用,也無(wú)法修改其行為。

是怎么id到達(dá)的

你不知道,不能知道,也不應(yīng)該知道。你只知道它是一個(gè)標(biāo)識(shí)符,實(shí)際值是不透明的。


查看完整回答
反對(duì) 回復(fù) 2022-06-22
?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

從您提供的 URL 頁(yè)面中:“CPython 實(shí)現(xiàn)細(xì)節(jié):這是內(nèi)存中對(duì)象的地址。” ——所以id基本上是一個(gè)地址,不多不少。



查看完整回答
反對(duì) 回復(fù) 2022-06-22
  • 3 回答
  • 0 關(guān)注
  • 289 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)