python中 可變與不可變物件

2021-07-07 05:09:23 字數 591 閱讀 4019

先看**:

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),在python中,strings, tuples, 和numbers是不可更改的物件,而list,dict等則是可以修改的物件,當乙個引用傳遞給函式的時候,函式自動複製乙份引用,所以第乙個不可變物件對於a值的引用和外面a= 1沒有半毛線關係,而下面的應用則是指向物件本身的引用,那麼輸出的值自然就是1了,這個知識點你get了嗎?

原文

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中的所有東西都是乙個物件。每個python新手都應該學習的是,python中的所有物件都可以是可變的或不可變的。讓我們更深入地了解它的細節.因為python中的所有東西都是物件,所以每個變數都包含乙個物件例項。當乙個物件被初始化時,它被分配乙個唯一的物件id。它的型別是在執行時定義的,一...

Python中不可變與可變

在python的資料型別中,有用可變和不可變的兩種型別,那下面就來看一看兩種資料型別有什麼區別 old var hello print old var hello new var old var new var world print old var hello world 這符合我們的邏輯嗎?是不...