我們知道在c/c++中:
不變引數是在記憶體中有對應的常量資料區,也就是說一開始定義的資料,不管是其所指的位址還是該位址所指的值都是不可變的;
而我們所說的變數,也就是可變引數,則包括值變數和指標變數,但其本身的位址是固定的,位址所指的內容是可變的;
python函式引數對於可變物件,函式內對引數的改變會影響到原始物件;對於不可變物件,函式內對引數的改變不會影響到原始引數。對其理解:
1、可變物件,引數改變的是可變物件,其內容可以被修改,不是重新引用。
2、不可變物件,改變的是函式內變數的指向物件。而原始資料並沒有發生變換,只是重新引用了物件;
相對於c/c++的優缺點:
優點:可以減少重複值的記憶體占用空間;
缺點:對執行效率帶來一定的影響。
python中引數 Python中的引數
python中的引數 1.python函式引數有多重形式 test arg1,arg2,args test arg1,arg2,args kwargs 2.其中比較糊弄人的是 args和 kwargs args 變長的佔位引數列表 kwargs 變長的鍵值對引數列表 3.什麼是佔位引數 test a...
python中的引數 python中的引數
一 位置引數 def test x,y print x print y test 1,2 與形參一一對應 結果如下 二 關鍵字引數 def test1 x,y print x print y test1 y 2,x 3 與形參順序無關 結果如下 三 預設引數 def student name,age...
python引數中的 和
問題 python的函式定義中有兩種特殊的情況,即出現 的形式。如 def myfun1 username,keys 或def myfun2 username,keys 等。解釋 用來傳遞任意個無名字引數,這些引數會乙個tuple的形式訪問。用來處理傳遞任意個有名字的引數,這些引數用dict來訪問。...