python 十二 可變物件與不可變物件

2021-10-10 21:23:48 字數 893 閱讀 5526

可變物件:字典,列表,自定義物件

不可變物件:數字,字串,元組,bool

**

a = [1, 2]

print("id for a is {}".format(id(a)))

def add_3(n):

print("id of {} is :{}".format(n, id(n)))

print("id of {} is :{}".format(n, id(n)))

輸出

id for a is 2161087973384
執行:

add_3(a)

print("id for a after op: {}".format(id(a)))

輸出:

id of [1, 2] is :2161087973384

id of [1, 2, 3] is :2161087973384

id for a after op: 2161087973384

結論:

在可變物件中,所有的操作指向的位址是同乙個,即使沒有返回值,可變物件的值也將被改變。

**

a = 100

def f1(n):

print(id(n))

print(n)

n += 100

print(id(n))

print(n)

輸出:

140720291347824

100140720291351024

200

結論:

不可變物件,在程式操作後,指向的位址是不同的,所以所對應的值也是不同的。

python可變物件與不可變物件

可改變的物件 例子1def change num print function parameter id num num 100 print assigin value to num id num if name main a 10 print origin id a id a change a p...

python筆記 可變物件與不可變物件

python中,萬物皆物件。所有的物件可以分為可變物件與不可變物件兩類。當變數引用不可變物件時,使用該變數的任何操作,都會建立新物件,而不會改變引用的物件。與此相反,變數引用可變物件時,或者可能建立新的物件,或者改變被引用的物件本身,這取決於進行的何種操作。1.可變物件與不可變物件 可變物件是指物件...

python中 可變與不可變物件

先看 python 1 2 3 4 a 1 def fun a a 2 printa 1 python 1 2 3 4 b def fun b b.1 printb 1 上面兩個分別輸出的到底應該是哪乙個呢?這裡首先需要弄清楚的就是可變 mutable 物件與不可變物件 immutable 在pyt...