首先摒棄錯誤認知:並不是類中的呼叫都叫方法
看舉例看**
classfoo(object):
deffunc(self):
pass
#例項化
obj =foo()
#執行方式一:呼叫的func是方法
obj.func() #
func 方法
#執行方式二:呼叫的func是函式
foo.func(123) #
函式
是的!例子中很明確,類物件呼叫func是方法,類呼叫func是函式,並且是自己傳遞引數123!
最大的區別是引數的傳遞引數,方法是自動傳參self,函式是主動傳參
那麼以後我們就可以直接看引數是如何傳遞的來判斷,
如果還不確定可以列印型別看看
from types importfunctiontype,methodtype
print(isinstance(obj.func,methodtype)) --->#
true
print(isinstance(foo.func,functiontype)) --->#
true
ok!判斷沒錯
python中函式和方法的區別
轉 本篇內容主要介紹從幾個維度來介紹下python中函式和方法的區別 首先,從分類的角度來分析。1 函式的分類 2 方法的分類 其次,從作用域的角度來分析 1 函式作用域 從函式呼叫開始至函式執行完成,返回給呼叫者後,在執行過程中開闢的空間會自動釋放,也就是說函式執行完成後,函式體內部通過賦值等方式...
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...