新聞中心
一直跟大家討論,函數(shù)和方法,很多時候我們會將這兩個內(nèi)容混為一談,那到底是不是這樣的呢?如果一樣,為什么存在函數(shù)或者方法兩個名詞呢?毫無質(zhì)疑的是,函數(shù)肯定是函數(shù),方法肯定是方法,兩者是獨(dú)立的個體,那我們要怎么區(qū)分,或者在什么場景下區(qū)分這兩個是怎么用呢?一起來看下吧~

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的咸寧網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
區(qū)別:
1、在標(biāo)準(zhǔn)庫inspect 中,它提供了兩個自省的函數(shù),即 ismethod() 和 isfunction(),可以用來判斷什么是方法,什么是函數(shù)。
2、Function也是包含一個函數(shù)頭和一個函數(shù)體, 也同樣支持0到n個形參,而Method則是在function的基礎(chǔ)上, 多了一層類的關(guān)系, 正因為這一層類, 所以區(qū)分了function 和 method 。
3、本質(zhì)上, 函數(shù)和方法的區(qū)別是: 函數(shù)是屬于 FunctionObject , 而 方法是屬 PyMethodObject
簡單來看下代碼:
def aa(d, na=None, *kasd, **kassd): passclass A(object): def f(self): return 1a = A()print '#### 各自方法描述 ####'print '## 函數(shù) %s' % aaprint '## 類方法 %s' % A.fprint '## 實例方法 %s' % a.f
輸出結(jié)果:
#### 各自方法描述 ###### 函數(shù)## 類方法 ## 實例方法 >
所以大家看懂了嗎?
上述內(nèi)容就是轉(zhuǎn)對函數(shù)和方法的區(qū)別的示例,大家仔細(xì)看下會很容易發(fā)現(xiàn)兩者區(qū)別還是蠻大的,但是在有些情況下,可以混說,具體是哪些情況呢?大家還是繼續(xù)多多學(xué)習(xí),更深入了解吧~
文章名稱:創(chuàng)新互聯(lián)Python教程:python中的函數(shù)和方法有什么區(qū)別?
文章源于:http://m.fisionsoft.com.cn/article/dhhohpo.html


咨詢
建站咨詢
