python方法的引數個數問題,Python類中方法引數的問題,如圖,為什麼會出現這種錯誤?謝謝回答

2021-12-24 10:45:05 字數 975 閱讀 9355

1樓:匿名使用者

python中函式的引數傳遞問題,函式引數的傳遞往往是一個難以理解的概念,一個經典的例子如下所示:

int swap(int a,int b)

int a = 10,b = 20;

printf("before swap a = %d, b = %d\n",a,b);

swap(a,b);

printf("after swap a= %d,b = %d\n",a,b);

引數是採用值傳遞的形式,存在形參與實參的區別,也就是將實參的值複製給形參,在函式內部操作的都只是形參的內容,並不改變實參的值,所以變數在操作過後並沒有發生改變。

引數傳遞過程中存在兩個規則:

1、通過引用將引數複製到區域性作用域的物件中,意味著被用來訪問函式引數的變數於提高給函式的物件無關,因為存在一個複製問題,這和c語言是相同的。而且修改區域性物件不會改變原始資料。

2、可以在適當位置修改可變物件。可變物件主要就是列表和字典,這個適當位置實質上就是前面分析的區域性子物件的修改不會改變字典物件或者列表物件的id位置。

2樓:剛註冊的菜鳥

應該是有個隱藏的this引數

python類中方法引數的問題,如圖,為什麼會出現這種錯誤?謝謝回答~

3樓:彪彪雷

def setsize(self,*size),*size的意思是傳入的引數在函式中的形式為元組(就是size=(1,2)),不是傳入元組。。。*size用於傳入多個引數。。。

4樓:瘦子老付

額 我也是新手,不知道我說的對不對

(1,2)這個tuple實際上只有一個index :size[0] 它的值就是(1,2)

你實際上應該要的似乎是size[0][0]和size[0][1]

5樓:

r.setsize(1, 2)

偽靜態中引數個數不定的時候怎麼寫如下

一樣的,有多少就加多少 這裡就需要知道你的a null的時候,要指定一個值來代替,不然偽靜態會出錯 偽靜態超過10個引數怎麼寫 由於偽靜態必須要完全根據不同的站點進行不同的設定,因此,我們僅能簡單介紹其原理,給出幾個常用程式的示例 若要通過htaccess使用偽靜態 引數是漢字的,怎麼寫偽靜態規則?...

Python的問題,Python 的一個問題

用一個while迴圈就可以搞定了 a 10 2 5 6 9 a 10 a.sort alen len a 1 獲取最大索引 while alen 0 if a alen 1 a alen 1 1 del a alen del a alen 1 alen 2 else alen 1 print a 用...

關於python的菜鳥問題python菜鳥問題

def print all f 定義一個函 數print all,接受一個引數f print f.read 這個函式執行f.read def rewind f 定義一個函式rewind,接受一個引數f f.seek 0 f.seek 0 將f的檔案指標恢復到檔案開頭 def print a line...