bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Python中的對象是什么意思-創新互聯

創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

成都創新互聯專注于沈河企業網站建設,響應式網站設計,商城建設。沈河網站建設公司,為沈河等地區提供建站服務。全流程按需網站策劃,專業設計,全程項目跟蹤,成都創新互聯專業和態度為您提供的服務

不懂Python中的對象是什么意思?其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。

Python中的對象

在Python中,一切都是對象。為了證明,你可以打開一個REPL并探索使用isinstance():

Python中的對象是什么意思

>>> isinstance(1, object)
True
>>> isinstance(list(), object)
True
>>> isinstance(True, object)
True
>>> def foo():
...     pass
...
>>> isinstance(foo, object)
True

此代碼向您顯示Python中的所有內容確實是一個對象。每個對象至少包含三個數據:

參考計數、類型、值

該引用計數為內存管理。要深入了解Python中的內存管理內部。

該類型在CPython層使用,以確保運行時的類型安全性。最后,有值,即與對象關聯的實際值。

但并非所有對象都是相同的。您還需要了解另一個重要的區別:不可變對象和可變對象。理解對象類型之間的差異確實有助于闡明Python中的指針。

不可變對象和可變對象

在Python中,有兩種類型的對象:

無法更改的不可變對象、可以改變的可變對象。

理解這種差異是在Python中學習指針的第一個關鍵。以下是常見類型的細分以及它們是否可變或不可變:

Type    Immutable?
int         Yes
float       Yes
bool        Yes
complex     Yes
tuple       Yes
frozenset   Yes
str         Yes
list        No
set         No
dict        No

如您所見,許多常用的基元類型是不可變的。您可以通過編寫一些Python來證明這一點。您需要Python標準庫中的一些工具:

id() 返回對象的內存地址。

isTrue當且僅當兩個對象具有相同的內存地址時才返回。

再一次,您可以在REPL環境中使用它們:

>>> x = 5
>>> id(x)
94529957049376

在上面的代碼中,已分配的值5來x。如果您嘗試使用add修改此值,那么您將獲得一個新對象:

>>> x  + =  1 
>>> x 
6 
>>> id (x )
94529957049408

即使上面的代碼似乎修改了值x,你也會得到一個新對象作為響應。

該str類型也是不變的:

>>> s = "real_python"
>>> id(s)
140637819584048
>>> s += "_rocks"
>>> s
'real_python_rocks'
>>> id(s)
140637819609424

同樣,操作后s最終會有不同的內存地址+=。

對于某些對象list,+=將轉換為__iadd__()(就地添加)。這將修改self并返回相同的ID。但是,str并int沒有這些方法而導致__add__()調用而不是__iadd__()。

試圖直接改變字符串會s導致錯誤:

>>> s[0] = "R"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

上面的代碼失敗了,Python表明它str不支持這種突變,這與該str類型是不可變的定義一致。

與可變對象形成對比,例如list:

>>> my_list = [1, 2, 3]
>>> id(my_list)
140637819575368
>>> my_list.append(4)
>>> my_list
[1, 2, 3, 4]
>>> id(my_list)
140637819575368

此代碼顯示了兩種類型對象的主要區別。my_list最初有一個id。即使在4附加到列表后,my_list也具有相同的 ID。這是因為list類型是可變的。

證明列表可變的另一種方法是賦值:

>>> my_list[0] = 0
>>> my_list
[0, 2, 3, 4]
>>> id(my_list)
140637819575368

在此代碼中,您my_list將其第一個元素變異并設置為0。但是,即使在此分配之后,它仍保持相同的ID。隨著可變和不可變對象的出現,的下一步是理解Python的變量生態系統。

感謝你能夠認真閱讀完這篇文章,希望小編分享Python中的對象是什么意思內容對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯-成都網站建設公司行業資訊頻道,遇到問題就找創新互聯,詳細的解決方法等著你來學習!

新聞標題:Python中的對象是什么意思-創新互聯
標題網址:http://vcdvsql.cn/article26/jidjg.html

成都網站建設公司_創新互聯,為您提供品牌網站設計App設計網站設計公司建站公司云服務器域名注冊

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計