日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python中有趣在__call__函數(shù)

系統(tǒng) 1776 0

Python中有一個(gè)有趣的語法,只要定義類型的時(shí)候,實(shí)現(xiàn)__call__函數(shù),這個(gè)類型就成為可調(diào)用的。
換句話說,我們可以把這個(gè)類型的對象當(dāng)作函數(shù)來使用,相當(dāng)于 重載了括號運(yùn)算符。

            
class g_dpm(object):
def __init__(self, g):
self.g = g
def __call__(self, t):
return (self.g*t**2)/2
          

計(jì)算地球場景的時(shí)候,我們就可以令e_dpm = g_dpm(9.8),s = e_dpm(t)。

            
class Animal(object):
  def __init__(self, name, legs):
    self.name = name
    self.legs = legs
    self.stomach = []    
 
  def __call__(self,food):
    self.stomach.append(food)
 
  def poop(self):
    if len(self.stomach) > 0:
      return self.stomach.pop(0)
 
  def __str__(self):    
    return 'A animal named %s' % (self.name)    
 
cow = Animal('king', 4) #We make a cow
dog = Animal('flopp', 4) #We can make many animals
print 'We have 2 animales a cow name %s and dog named %s,both have %s legs' % (cow.name, dog.name, cow.legs)
print cow #here __str__ metod work
 
#We give food to cow
cow('gras')
print cow.stomach
 
#We give food to dog
dog('bone')
dog('beef')
print dog.stomach
 
#What comes inn most come out
print cow.poop()
print cow.stomach #Empty stomach
 
'''-->output
We have 2 animales a cow name king and dog named flopp,both have 4 legs
A animal named king
['gras']
['bone', 'beef']
gras
[]
'''

          


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 晴隆县| 繁昌县| 台中县| 招远市| 巴马| 滦南县| 湾仔区| 武强县| 富顺县| 临湘市| 乐昌市| 明光市| 东乡| 南丹县| 洛宁县| 武川县| 隆昌县| 临海市| 宜良县| 浏阳市| 介休市| 南昌市| 册亨县| 柞水县| 陵川县| 休宁县| 抚顺市| 乐山市| 黄石市| 福泉市| 罗城| 甘德县| 三原县| 务川| 社会| 额敏县| 甘孜县| 马边| 栖霞市| 米脂县| 新沂市|