摘要:在困惑的查找答案過程中發現了表示的是對應的內存地址案例請輸入和比較輸出的結果比較發現和是同一個同理和是一樣的此處賦值改變了的值,不再指向而是指向或者,在中都只是一個名字,來指向一個值比如不論字符類型此處代碼中指向打印出來是所以或者以及效果是
在困惑的查找答案過程中發現了id()
id() 表示的是對應的內存地址
案例1:
>>> a=1 >>> b=2 >>> id(1) 39355320 >>> id(a) 39355320 >>> id(b) 39355308 >>> b=3 >>> id(b) 39355296 >>>
請輸入id(2)和id(3),比較輸出的結果
比較發現:
a=1 id(a)和id(1)是同一個
同理id(b)和id(2)是一樣的
b=3 此處賦值改變了id(b)的值,不再指向 2 而是指向 3
a或者b,在Python中都只是一個名字,來指向一個值 比如1 2(不論字符類型)
>>> a=1 >>> b=2 >>> list1=[a,b] >>> print list1 [1, 2] >>> b=3 >>> print list1 [1, 2] >>>
此處代碼中 b=2 指向39355308 打印出來是2 所以print list[1]或者print b
以及print 2 效果是等同的
但是print list1[1]是直接指向2的這個值 39355308
print b 是間接指向2的這個值 39355308
b是一個名字 引用這個值
所以當重新賦值 b=3
print b b作為一個名字 引用的是3的值 b指向一個新的值——3的值
print list1[1]得到的依舊是 39355308
而print list1 是print list1[0] 和print list1[1] 的合集
所以輸出結果依舊是[1,2] 而不是 [1,3]
重新定義 list1=[a,b] 才會輸出[1,3]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44317.html
摘要:動態類型在我們接觸的對象中,有一類特殊的對象,是用于存儲數據的。會自動將沒有引用指向的對象銷毀,釋放相應內存。這種對象類型,稱為可變數據對象,詞典也是這樣的數據類型。比如說動態類型是的核心機制之一。 Python進階09 動態類型 動態類型(dynamic typing)是Python另一個重要的核心概念。我們之前說過,Python的變量(variable)不需要聲明,而在賦值時,變量...
摘要:本文基于與,討論了中與指針及引用相關的一些行為。在這些場合中,移動構造函數和移動賦值操作通過右值引用接管被移動對象。而由于對象從構造函數而來,至此我們可知的構造函數將構造匿名對象,且返回此對象的一個指針。 花下貓語:本文是學習群內 櫻雨樓 小姐姐的投稿。之前已發布過她的一篇作品《當談論迭代器時,我談些什么?》,大受好評。本文依然是對比 C++ 與 Python,來探討編程語言中極其重要...
摘要:接下來,一般都要編寫構造函數,在寫這個函數之前,先解釋一下什么是構造函數。故這個函數稱為構造函數,擔負著對類進行初始化的任務。 雖然已經對類有了一點點模糊概念,但是,閱讀前面一講的內容的確感到累呀,都是文字,連代碼都沒有。 本講就要簡單多了,嘗試走一個類的流程。 說明:關于類的這部分,我參考了《Learning Python》一書的講解。 創建類 創建類的方法比較簡單,如下: ...
閱讀 2019·2023-04-26 02:15
閱讀 2302·2021-11-19 09:40
閱讀 1038·2021-10-27 14:13
閱讀 3307·2021-08-23 09:44
閱讀 3609·2019-12-27 12:24
閱讀 652·2019-08-30 15:53
閱讀 1164·2019-08-30 10:53
閱讀 2153·2019-08-26 12:14