當前位置:首頁 » 編程語言 » python的函數和方法的區別

python的函數和方法的區別

發布時間: 2025-06-04 04:15:53

1. python函數和方法區別

python中函數和方法的區別:

首先,從分類的角度來分析。

(1)函數的分類:

  • 內置函數:python內嵌的一些函數。

  • 匿名函數:一行代碼實現一個函數功能。

  • 遞歸函數

  • 自定義函數:根據自己的需求,來進行定義函數。

  • (2)方法的分類:

  • 普通方法:直接用self調用的方法。

  • 私有方法:__函數名,只能在類中被調用的方法。

  • 屬性方法:@property,將方法偽裝成為屬性,讓代碼看起來更合理。

  • 特殊方法(雙下劃線方法):以__init__為例,是用來封裝實例化對象的屬性,只要是實例化對象就一定會執行__init方法,如果對象子類中沒有則會尋找父類(超類),如果父類(超類)也沒有,則直接繼承object(python 3.x)類,執行類中的__init__方法。

  • 類方法:通過類名的調用去操作公共模板中的屬性和方法。

  • 靜態方法:不用傳入類空間、對象的方法, 作用是保證代碼的一致性,規范性,可以完全獨立類外的一個方法,但是為了代碼的一致性統一的放到某個模塊(py文件)中。

  • 其次,從作用域的角度來分析:

    (1)函數作用域:從函數調用開始至函數執行完成,返回給調用者後,在執行過程中開辟的空間會自動釋放,也就是說函數執行完成後,函數體內部通過賦值等方式修改變數的值不會保留,會隨著返回給調用者後,開辟的空間會自動釋放。

    (2)方法作用域:通過實例化的對象進行方法的調用,調用後開辟的空間不會釋放,也就是說調用方法中對變數的修改值會一直保留。

    最後,調用的方式不同。

    (1)函數:通過「函數名()」的方式進行調用。

    (2)方法:通過「對象.方法名」的方式進行調用。

  • class Foo(object): def func(self): pass#實例化obj = Foo()# 執行方式一:調用的func是方法obj.func() #func 方法# 執行方式二:調用的func是函數Foo.func(123) # 函數

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:593
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:888
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:582
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:765
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:684
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1013
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:255
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:114
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:806
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:713