python中的方法和函数的区别_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中的方法和函数的区别_python中函数与方法的区别?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络ip功放连接图_精耕新基建:智能IP
- 下一篇: deepin终端编译c程序_C/C++知