L = T[2] 語句的理解
課件中的代碼如下:
T?=?(1,?'CH',?[3,?4]) L?=?T[2] print(L)?#?==>?[3,?4] L[1]?=?40 print(L)?#?==>?[3,?40] print(T)?#?==>?(1,?'CH',?[3,?40]) 其中L?=?T[2],是理解為?L變量指向T[2],而不是復(fù)制一個T[2]給L嗎??這代碼與其他編程語言的變量賦值有很大區(qū)別?。。?!
課件中的代碼如下:
T?=?(1,?'CH',?[3,?4]) L?=?T[2] print(L)?#?==>?[3,?4] L[1]?=?40 print(L)?#?==>?[3,?40] print(T)?#?==>?(1,?'CH',?[3,?40]) 其中L?=?T[2],是理解為?L變量指向T[2],而不是復(fù)制一個T[2]給L嗎??這代碼與其他編程語言的變量賦值有很大區(qū)別?。。?!
2020-08-30
舉報
2020-09-01
類似于c語言的指針, c++的引用
2020-09-01
你這樣理解的就復(fù)雜了。 舉個例子,定義一個可變的list? L=[1,2,3]? 你執(zhí)行L[1]=9 按你的理解 是復(fù)制了一個9給L[1],可是L[1]本身就有一個元素 2 ,你復(fù)制的9怎么存儲? 你肯定是默認(rèn) 用9去替換2。 回到 T= ( 1, 'CH', [3,4] ), 他的意思就是說 T[2]這個元素是一個list類型,假設(shè)他在內(nèi)存中有一個名字叫 x ,那在這個tuple里面 這個元素就只能是x ,不能變成其他的, 至于這個x 里面的內(nèi)容 ,你是可以改變的 。 ?
2020-08-30