Python 的引數傳遞

2021-08-21 01:42:19 字數 1124 閱讀 1689

a=[1,2,3]

a="google"

可更改(mutable)與不可更改(immutable)物件
python 函式的引數傳遞:

python 傳不可變物件例項

傳不可變物件例項記憶體分析圖

分析如下**

python 傳遞可變物件例項

記憶體分析

分析**

def

changeint

( a ):

a = 10

b = 2

changeint(b)

print( b ) # 結果是 2

分析:在此函式 changeint()中,傳不可變型別引數時,複製了變數b,使得變數a和復 制的變數b指向了引數10

易知:整數b 在python中 為不可改變量 ,所以上述結果為2

傳遞可變物件例項:

def

change_list

( list ):

"修改傳入的列表"

print ("函式內取值: ", list)

return

# 呼叫changeme函式

list = [10,20,30]

change_list( list )

print ("函式外取值: ", list)

#函式內取值: [10, 20, 30, [1, 2, 3, 4]]

#函式外取值: [10, 20, 30, [1, 2, 3, 4]]

分析 :可變物件 list 在函式裡修改了 list物件 的引數

即呼叫的這個函式的可變物件與原物件list都發生了改變

總結一下:python的 引數傳

python 引數傳遞 Python 引數傳遞

python中的變數 乙個變數是區域性還是全域性,在編譯函式的時候就已經決定,因此讀變數值的時候也不會逐層向外查詢。變數是全域性還是局域,根據如下3條 1.如果函式內部有global語句,那麼它宣告的變數是全域性的。2.如果函式內部有對變數的賦值語句,那麼它是局域的。3.除此之外都是全域性的。注意1...

python 引數傳遞 python引數傳遞

python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。函式引數的定義有四種形式 1.f arg...

python變數傳遞 Python引數傳遞

在 python 中,型別屬於物件,變數是沒有型別的 a 1,2,3 a runoob 以上 中,1,2,3 是 list 型別,runoob 是 string 型別,而變數 a 是沒有型別,她僅僅是乙個物件的引用 乙個指標 可以是指向 list 型別物件,也可以是指向 string 型別物件。可更...