您好,登錄后才能下訂單哦!
動態類型:
Python的類型是在運行過程中中自動決定的,而不是通過類型聲明語句的代碼聲明,與Java等語言有所區別。
Python類型原理:
>>> a=15
>>>
>>> a
15
>>>
Python賦值的操作:
變量創建:
一個變量名a,代碼第一次賦值它時創建了它。在之后的賦值會改變已創建的變量名賦值。
變量類型:
變量永遠不會有任何的和它關聯的類型信息或約束。Python類型的概念只存在與對象中而不是變量名中。
變量使用:
當變量出現在表達式中,會馬上被當前賦值替代,無論這個對象是什么類型。所有的變量必須在其使用前明確賦值,使用未賦值的變量會產生錯誤。
>>> a
15
>>>
>>> a=14
>>>
>>> b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined
>>>
注意:
類型屬于對象,而不是變量。變量名沒有類型。
對象垃圾收集:
在Python中,每當一個變量名被賦予一個新的對象,之前的那個對象占用的空間就會被回收(如果它沒有被其他的變量名或對象所引用的話)。這種自動回收對象空間的技術叫做垃圾收集。
共享引用:
多個變量名引用相同的對象。
>>> a=11
>>> b=a
>>>
>>> a,b
(11, 11)
>>>
共享引用和在原處修改:
在原處修改對象,共享引用時,會影響其他的變量。
>>> x=[1,2,3]
>>> y=x
>>>
>>> x[0]='a'
>>>
>>> x,y
(['a', 2, 3], ['a', 2, 3])
>>>
避免共享引用修改變量的方式:
1.適用于序列的內置變量,(字典和集合不行。)
>>> x=[1,2,3]
>>> y=x[:]
>>>
>>> x[0]='ye'
>>> x,y
(['ye', 2, 3], [1, 2, 3])
>>>
2.使用copy方法(適用于各種內置類型):
>>> 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])
>>>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。