區別:定義位置、定義方式、呼叫方式
1、定義位置
函式:python的函式是直接寫在python模組中的,即在.py檔案中直接定義。
方法:只能定義在class類中
2、定義方式
函式:函式定義的方式 def關鍵字 然後接函式名 再是括號 括號裡面寫形參也可以省略不寫形參
def
functionname()
:"""這裡是函式的注釋"""
print
("這一塊寫函式的內容"
)
方法:方法定義的方式, 首先方法是定義在類中的,其他大體和函式定義差不多,這裡需要注意的一點就是方法必須帶乙個預設引數self(靜態方法除外)
'''
'''class
classname
(super):
defmethodname
(self)
:"""這裡是方法的注釋
self相當於this;
"""print
("這裡是方法的內容"
)
3、呼叫方式
函式:直接使用函式名(引數1,引數2,…)呼叫
def
functionname()
:print
("這是乙個函式"
)#呼叫
functionname(
)
方法:方法是通過物件點方法呼叫的(這裡是指物件方法)
'''
'''class
classname
:def
method
(self)
:print
("這是乙個方法"
)#呼叫---------------------
#例項化物件
c=classname()
c.method(
)
注意:靜態方法除外,可以不傳遞第乙個self引數
classa:
@staticmethod
deffunc()
:print
('這是乙個靜態方法'
)#不用例項化呼叫
a.func(
)#例項化後和其他類方法一樣方式呼叫
a = a(
)a.func()-
----輸出---
--這是乙個靜態方法
這是乙個靜態方法
python中函式和方法的區別
轉 本篇內容主要介紹從幾個維度來介紹下python中函式和方法的區別 首先,從分類的角度來分析。1 函式的分類 2 方法的分類 其次,從作用域的角度來分析 1 函式作用域 從函式呼叫開始至函式執行完成,返回給呼叫者後,在執行過程中開闢的空間會自動釋放,也就是說函式執行完成後,函式體內部通過賦值等方式...
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....