>> a=15 >>> >>> a 15 >>> ..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python學(xué)習(xí)筆記(三)——動態(tài)類型

發(fā)布時(shí)間:2020-07-06 04:55:05 來源:網(wǎng)絡(luò) 閱讀:141 作者:YertAlan 欄目:編程語言

動態(tài)類型:
Python的類型是在運(yùn)行過程中中自動決定的,而不是通過類型聲明語句的代碼聲明,與Java等語言有所區(qū)別。

Python類型原理:

>>> a=15
>>>
>>> a
15
>>>

Python賦值的操作:

  1. 創(chuàng)建一個(gè)對象來代表3;
  2. 創(chuàng)建一個(gè)變量a,如果它還沒有創(chuàng)建;
  3. 將變量與新的對象3相連接。

變量創(chuàng)建:
一個(gè)變量名a,代碼第一次賦值它時(shí)創(chuàng)建了它。在之后的賦值會改變已創(chuàng)建的變量名賦值。

變量類型:
變量永遠(yuǎn)不會有任何的和它關(guān)聯(lián)的類型信息或約束。Python類型的概念只存在與對象中而不是變量名中。

變量使用:
當(dāng)變量出現(xiàn)在表達(dá)式中,會馬上被當(dāng)前賦值替代,無論這個(gè)對象是什么類型。所有的變量必須在其使用前明確賦值,使用未賦值的變量會產(chǎn)生錯(cuò)誤。

>>> a
15
>>>
>>> a=14
>>>
>>> b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined
>>>

注意:
類型屬于對象,而不是變量。變量名沒有類型。

對象垃圾收集:
在Python中,每當(dāng)一個(gè)變量名被賦予一個(gè)新的對象,之前的那個(gè)對象占用的空間就會被回收(如果它沒有被其他的變量名或?qū)ο笏玫脑挘?。這種自動回收對象空間的技術(shù)叫做垃圾收集。

共享引用:
多個(gè)變量名引用相同的對象。

>>> a=11
>>> b=a
>>>
>>> a,b
(11, 11)
>>>

共享引用和在原處修改:
在原處修改對象,共享引用時(shí),會影響其他的變量。

>>> x=[1,2,3]
>>> y=x
>>>
>>> x[0]='a'
>>>
>>> x,y
(['a', 2, 3], ['a', 2, 3])
>>>

避免共享引用修改變量的方式:
1.適用于序列的內(nèi)置變量,(字典和集合不行。)

>>> x=[1,2,3]
>>> y=x[:]
>>>
>>> x[0]='ye'
>>> x,y
(['ye', 2, 3], [1, 2, 3])
>>>

2.使用copy方法(適用于各種內(nèi)置類型):

>>> import copy
>>>
>>> x=[1,2,3]
>>> y=copy.copy(x)
>>> y=copy.deepcopy(x)
>>>
>>> x,y
([1, 2, 3], [1, 2, 3])
>>>
>>> x[0]='51cto'
>>>
>>> x,y
(['51cto', 2, 3], [1, 2, 3])
>>>
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI