python中變量是什么 不同的python腳本變量名可以一樣嗎?
不同的python腳本變量名可以一樣嗎?Can 不一樣了。通常,這個(gè)編程函數(shù)及其變量可以 如果你把它設(shè)置成一樣的,就不會(huì)讓她變得一樣。在程序轉(zhuǎn)移的過(guò)程中,不會(huì)分辨是函數(shù)還是變量,會(huì)導(dǎo)致程序崩潰。所以
不同的python腳本變量名可以一樣嗎?
Can 不一樣了。通常,這個(gè)編程函數(shù)及其變量可以 如果你把它設(shè)置成一樣的,就不會(huì)讓她變得一樣。在程序轉(zhuǎn)移的過(guò)程中,不會(huì)分辨是函數(shù)還是變量,會(huì)導(dǎo)致程序崩潰。所以如果定義的時(shí)候變量名和函數(shù)是一樣的,這個(gè)時(shí)候可能會(huì)提示你。
Python中,普通變量與list變量賦值操作的不同結(jié)果是因?yàn)槭裁矗?/h2>
在普通變量中,比如a 100,b a,然后給A賦值,B的值不隨A而變..
但是,在列表變量中,比如L1 [1,2,3]和L2 L1,L1被修改后,L2的值會(huì)隨著L1而變化!
這是為什么呢?在計(jì)算機(jī)底層,普通變量和列表變量有什么區(qū)別?
變量之間是有值傳遞的,ba相當(dāng)于把A的值賦給B,A和B是兩個(gè)不同的變量,所以改變A的值不會(huì)影響B(tài)。
如果一個(gè)變量存儲(chǔ)一個(gè)序列,它實(shí)際上存儲(chǔ)的是該序列的內(nèi)存地址,l2l1將l1的值賦給l2。但是,因?yàn)閘1存儲(chǔ)序列的地址,所以它也是傳遞給l2的序列的地址。這時(shí)候兩個(gè)變量同時(shí)存儲(chǔ)的是同一個(gè)序列,在操作序列的時(shí)候,兩個(gè)變量指向的序列,也就是同一個(gè)序列,就會(huì)發(fā)生變化。
Python中有兩種類型的變量:可變的和不可變的。變量,比如整數(shù)類型,有不可變的值。諸如
第100頁(yè)
100是不可變的。P里面放的是100本身。而列表變量的內(nèi)容是可變的,例如
L [1,2,3]
它的內(nèi)容是可以改變的,比如L[1] 4。存儲(chǔ)在L中的是對(duì)值的引用。值的引用類似于房間號(hào),通過(guò)它可以操縱值。當(dāng)一個(gè)列表變量被賦值給另一個(gè)列表變量時(shí),引用被賦值。此時(shí)兩個(gè)列表變量中的引用是相同的,所以看起來(lái)是另一個(gè)變量的值隨著一個(gè)變量的操作而變化。而把一個(gè)普通變量賦給另一個(gè)變量,可以等價(jià)于把一個(gè)值賦給另一個(gè)變量,比如上面的P,如果執(zhí)行下面的操作。
Q P
現(xiàn)在q的值也是100。如果此時(shí)操作p
第200頁(yè)
改變的是P中的值,現(xiàn)在是200。值100本身沒(méi)有變化,所以q中的值保持不變。
如果可以獲得L的參考值,請(qǐng)執(zhí)行以下操作。
導(dǎo)入副本
男(女)
如果L中有一個(gè)列表,比如
L [1,[8,9],5]
你必須使用
男(女)
字典變量也是可變的。