函數(shù)就是一個(gè)callable的對(duì)象,所有對(duì)象只要你實(shí)現(xiàn)了它的call方法就跟函數(shù)一樣
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信平臺(tái)小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了百色免費(fèi)建站歡迎大家使用!
__call__
在Python中,函數(shù)其實(shí)是一個(gè)對(duì)象:
f = abs
f.__name__
'abs'
f(-123)
由于 f 可以被調(diào)用,所以,f 被稱(chēng)為可調(diào)用對(duì)象。
所有的函數(shù)都是可調(diào)用對(duì)象。
一個(gè)類(lèi)實(shí)例也可以變成一個(gè)可調(diào)用對(duì)象,只需要實(shí)現(xiàn)一個(gè)特殊方法__call__()。
我們把 Person 類(lèi)變成一個(gè)可調(diào)用對(duì)象:
class Person(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
def __call__(self, friend):
print 'My name is %s...' % self.name
print 'My friend is %s...' % friend
現(xiàn)在可以對(duì) Person 實(shí)例直接調(diào)用:
p = Person('Bob', 'male')
p('Tim')
My name is Bob...
My friend is Tim...
單看 p('Tim') 你無(wú)法確定 p 是一個(gè)函數(shù)還是一個(gè)類(lèi)實(shí)例,所以,在Python中,函數(shù)也是對(duì)象,對(duì)象和函數(shù)的區(qū)別并不顯著。
任務(wù)
改進(jìn)一下前面定義的斐波那契數(shù)列:
class Fib(object):
???
請(qǐng)加一個(gè)__call__方法,讓調(diào)用更簡(jiǎn)單:
f = Fib()
print f(10)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
函數(shù)是什么?
定義:函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。
作用:函數(shù)能提高應(yīng)用的模塊性和代碼的重復(fù)利用率。你已經(jīng)知道Python提供了許多內(nèi)建函數(shù),比如print()。但你也可以自己創(chuàng)建函數(shù),這被叫做用戶(hù)自定義函數(shù)。
函數(shù)是 python 的一等公民,函數(shù)也是對(duì)象。
使用函數(shù)有兩個(gè)步驟:
1、定義函數(shù)?def 函數(shù)名(): 函數(shù)體
2、調(diào)用函數(shù)?函數(shù)名()
Python中的變量也是對(duì)象,函數(shù)也是對(duì)象,類(lèi)也是對(duì)象,Python中一切皆對(duì)象。
變量的概念
變量存儲(chǔ)在內(nèi)存中的值。這就意味著在創(chuàng)建變量時(shí)會(huì)在內(nèi)存中開(kāi)辟一個(gè)空間。
基于變量的數(shù)據(jù)類(lèi)型,解釋器會(huì)分配指定內(nèi)存,并決定什么數(shù)據(jù)可以被存儲(chǔ)在內(nèi)存中。
因此,變量可以指定不同的數(shù)據(jù)類(lèi)型,這些變量可以存儲(chǔ)整數(shù),小數(shù)或字符。
變量賦值
Python 中的變量賦值不需要類(lèi)型聲明。
每個(gè)變量在內(nèi)存中創(chuàng)建,都包括變量的標(biāo)識(shí),名稱(chēng)和數(shù)據(jù)這些信息。
每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建。
等號(hào)(=)用來(lái)給變量賦值。
等號(hào)(=)運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值。
Python學(xué)習(xí)網(wǎng)- 專(zhuān)業(yè)的python自學(xué)、交流公益平臺(tái)!
文章題目:關(guān)于函數(shù)是對(duì)象嗎python的信息
分享網(wǎng)址:http://m.rwnh.cn/article6/doocgig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、虛擬主機(jī)、全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)頁(yè)設(shè)計(jì)公司、手機(jī)網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)