亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

函數和方法的區別

如何區分函數和方法

正在回答

3 回答

如果你定義了一個函數:bar(self, a, b, c)

你可以直接調用,注意self參數也要傳:

bar(obj, 1, 2, 3)


如果你把bar函數綁定到對象,你可以在對象上調用:

foo.bar(1, 2, 3)

注意self參數不能傳也不讓你傳,由解釋器自動傳入foo對象


可以直接在class中定義方法,這樣每個實例自動綁定了該方法

也可以在運行期給實例綁定方法,兩種方式都是等價的,因為python解釋器只不過把class的定義翻譯成“給實例綁定方法”的代碼

0 回復 有任何疑惑可以回復我~

python中,函數(方法)并不是依附與類才能存在。函數并不只是在類中定義。這種直接在模塊中而不是類中定義的函數(方法),叫做函數。

而?方法(method),是依附于類?的,他們定義在類中,是屬于類的,但是他們本質上,還是一個函數。方法的第一個參數不一定必須是self。

這么說吧,凡是def foo()這種,都是函數,在類中定義的函數,就是方法。

總結:

方法:類內普通方法,類方法

函數:普通函數,類內的靜態方法


0 回復 有任何疑惑可以回復我~

我的理解,函數就是方法。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

函數和方法的區別

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號