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

Python中__call__用法實例

系統 1699 0

本文實例講述了Python中__call__的用法,分享給大家供大家參考之用。具體方法如下:

先來看看如下示例代碼:

            
#call.py 一個class被載入的情況下。
class Next:
  List = []
  
  def __init__(self,low,high) :
    for Num in range(low,high) :
      self.List.append(Num ** 2)
  
  def __call__(self,Nu):
    return self.List[Nu]


          

如果 這樣使用:

            
b = Next(1,7)
print b.List
print b(2)


          

那么回饋很正常:

            
[1, 4, 9, 16, 25, 36]
9


          

但如果這樣使用:

            
b = Next
b(1,7)
print b.List
print b(2)
$python ./call.py
[1, 4, 9, 16, 25, 36]

Traceback (most recent call last):
 File "cal.py", line 17, in 
            
              
  print b(2) 
TypeError: __init__() takes exactly 3 arguments (2 given)


            
          

__init__是初始化函數,在生成類的實例時執行。

而__call__是模擬()的調用,需要在實例上應用,因此這個實例自然是已經執行過__init__了。

你所舉的后面那個例子:

            
b = Next

          

這并不是創建實例,而是將class賦給一個變量。因此后面使用b進行的操作都是對Next類的操作,那么其實就是:

            
Next(1,7)
print Next.List
print Next(2)

          

希望本文所述對大家的Python程序設計有所幫助。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天等县| 含山县| 徐州市| 易门县| 嫩江县| 禹城市| 临清市| 即墨市| 蓬安县| 邹城市| 秭归县| 舒兰市| 谢通门县| 册亨县| 鄂尔多斯市| 滨州市| 虎林市| 安龙县| 皮山县| 延吉市| 三亚市| 油尖旺区| 霍山县| 梁山县| 施甸县| 浪卡子县| 阿克陶县| 郯城县| 济宁市| 福清市| 淮南市| 安丘市| 抚州市| 滁州市| 抚宁县| 南木林县| 封丘县| 阿城市| 贡嘎县| 宁陵县| 准格尔旗|