Python引數傳遞

2021-08-19 21:00:16 字數 495 閱讀 7325

今天在看python**的時候發現的python引數傳遞的乙個問題

在python中引數傳遞分為兩種情況,一種是傳遞可變的物件,比如列表,另一種是不可變的物件比如字串時,這兩種情況是不一樣的,通過查閱相關資料有了如下了解

當傳入的是可變物件列表的時候,就類似於c語言中的指標傳遞

def

add_list

(a):

a = [1]

add_list(a)

print(a)

[1, 10]

當傳入的是不可變的物件的時候,類似於c語言中的值傳遞

def

add(a):

a = a + 2

a = 5

add(a)

print(a)

5

更詳細的解釋可以參考,參考文獻中的鏈結。

參考文獻:

[1]

[2]

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 型別物件。可更...