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

Python中有趣在__call__函數

系統 1860 0

Python中有一個有趣的語法,只要定義類型的時候,實現__call__函數,這個類型就成為可調用的。
換句話說,我們可以把這個類型的對象當作函數來使用,相當于 重載了括號運算符。

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

計算地球場景的時候,我們就可以令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
[]
'''

          


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 鲜城| 上饶县| 高清| 龙山县| 息烽县| 西林县| 上虞市| 芮城县| 井陉县| 富平县| 天峨县| 密云县| 上林县| 栾城县| 兴山县| 疏勒县| 正阳县| 松潘县| 来安县| 雅江县| 绥德县| 桐庐县| 社旗县| 瓮安县| 玛纳斯县| 绥滨县| 滁州市| 准格尔旗| 晋江市| 岳西县| 西乌珠穆沁旗| 通海县| 驻马店市| 开封市| 黄山市| 昌宁县| 江西省| 平度市| 麟游县| 孟州市| 班玛县|