python中函式和方法的區別

2021-10-17 11:18:20 字數 633 閱讀 6832

轉 

本篇內容主要介紹從幾個維度來介紹下python中函式和方法的區別:

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

(1)函式的分類:

(2)方法的分類:

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

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

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

最後,呼叫的方式不同。

(1)函式:通過「函式名()」的方式進行呼叫。

(2)方法:通過「物件.方法名」的方式進行呼叫。

class foo(object):

def func(self):

pass

#例項化

obj = foo()

# 執行方式一:呼叫的func是方法

obj.func() #func 方法

# 執行方式二:呼叫的func是函式

foo.func(123) # 函式

python中函式和方法的區別

首先摒棄錯誤認知 並不是類中的呼叫都叫方法 看舉例看 class foo object deffunc self pass 例項化 obj foo 執行方式一 呼叫的func是方法 obj.func func 方法 執行方式二 呼叫的func是函式 foo.func 123 函式 是的!例子中很明確...

python中函式和方法的區別

1.函式要手動傳self,方法主動傳self 2.如果是乙個函式,用類名去呼叫,如果是乙個方法,用物件去呼叫 舉例說明 class foo object def init self self.name haiyan def func self print self.name obj foo obj....

Python中函式 方法的區別

區別 定義位置 定義方式 呼叫方式 1 定義位置 函式 python的函式是直接寫在python模組中的,即在.py檔案中直接定義。方法 只能定義在class類中 2 定義方式 函式 函式定義的方式 def關鍵字 然後接函式名 再是括號 括號裡面寫形參也可以省略不寫形參 def functionna...