溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中函數與方法有什么不同的地方

發布時間:2020-07-06 16:19:50 來源:億速云 閱讀:210 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關python中函數與方法有什么不同的地方,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Python中函數不是方法,主要有以下區別:

首先,從分類的角度來分析二者的區別

(1)函數的分類:

內置函數:python內嵌的一些函數。

匿名函數:一行代碼實現一個函數功能。

遞歸函數:自己調用自己

自定義函數:根據自己的需求,來進行定義函數。

(2)方法的分類:

普通方法:直接用self調用的方法。

私有方法:__函數名,只能在類中被調用的方法。

屬性方法:@property,將方法偽裝成為屬性,讓代碼看起來更合理。

特殊方法(雙下劃線方法):以__init__為例,是用來封裝實例化對象的屬性,只要是實例化對象就一定會執行__init方法,如果對象子類中沒有則會尋找父類(超類),如果父類(超類)也沒有,則直接繼承object(python 3.x)類,執行類中的__init__方法。

類方法:通過類名的調用去操作公共模板中的屬性和方法。

靜態方法:不用傳入類空間、對象的方法, 作用是保證代碼的一致性,規范性,可以完全獨立類外的一個方法,但是為了代碼的一致性統一的放到某個模塊(py文件)中。

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

(1)函數作用域:從函數調用開始至函數執行完成,返回給調用者后,在執行過程中開辟的空間會自動釋放。

也就是說函數執行完成后,函數體內部通過賦值等方式修改變量的值不會保留,會隨著返回給調用者后,開辟的空間會自動釋放。

(2)方法作用域:通過實例化的對象進行方法的調用,調用后開辟的空間不會釋放。

也就是說調用方法中對變量的修改值會一直保留。

調用的方式不同。

(1)函數:通過“函數名()”的方式進行調用。

(2)方法:通過“對象.方法名”的方式進行調用。

class Foo(object):
    def func(self):
        pass

#實例化

obj = Foo()

# 執行方式一:調用的func是方法

obj.func() #func 方法

# 執行方式二:調用的func是函數

Foo.func(123) # 函數

關于python中函數與方法有什么不同的地方就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女