python中函式和方法的區別

2022-04-11 01:02:32 字數 668 閱讀 7695

首先摒棄錯誤認知:並不是類中的呼叫都叫方法

看舉例看**

class

foo(object):

deffunc(self):

pass

#例項化

obj =foo()

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

obj.func() #

func 方法

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

foo.func(123) #

函式

是的!例子中很明確,類物件呼叫func是方法,類呼叫func是函式,並且是自己傳遞引數123!

最大的區別是引數的傳遞引數,方法是自動傳參self,函式是主動傳參

那麼以後我們就可以直接看引數是如何傳遞的來判斷,

如果還不確定可以列印型別看看

from types import

functiontype,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...