區別:定義位置、定義方式、調用方式
1、定義位置
函數:Python的函數是直接寫在Python模塊中的,即在.py文件中直接定義。
方法:只能定義在class類中
2、定義方式
函數:函數定義的方式 def關鍵字 然后接函數名 再是括號 括號里面寫形參也可以省略不寫形參
def functionName(): """這里是函數的注釋""" print("這一塊寫函數的內容")
方法:方法定義的方式, 首先方法是定義在類中的,其他大體和函數定義差不多,這里需要注意的一點就是方法必須帶一個默認參數self(靜態方法除外)
class className(super): def methodName(self): """這里是方法的注釋 self相當於this; """ print("這里是方法的內容")
3、調用方式
函數:直接使用函數名(參數1,參數2,....)調用
def functionName(): print("這是一個函數") #調用 functionName()
方法:方法是通過對象點方法調用的(這里是指對象方法)
class className: def method(self): print("這是一個方法") #調用--------------------- #實例化對象 c=className() c.method()
注意:靜態方法除外,可以不傳遞第一個self參數
class A: @staticmethod def func(): print('這是一個靜態方法') #不用實例化調用 A.func() #實例化后和其他類方法一樣方式調用 a = A() a.func() -----輸出----- 這是一個靜態方法 這是一個靜態方法