Python中的call方法

2021-10-06 19:32:19 字數 435 閱讀 9338

在 python 中提供了__call__ 方法,允許建立可呼叫的物件(例項)。如果類中實現了 __call__ 方法,則可以像使用函式一樣使用類。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

class run(object):

def __init__(self):

pass

def __call__(self, data):

print('data=%s' % data)

return data

if __name__ == "__main__":

r = run()

print(r("python探路者"))

輸出:

data=python探路者

python探路者

python 特殊方法之 call

call 在python中,函式其實是乙個物件 f abs f.name abs f 123 123由於 f 可以被呼叫,所以,f 被稱為可呼叫物件。所有的函式都是可呼叫物件。乙個類例項也可以變成乙個可呼叫物件,只需要實現乙個特殊方法 call 我們把 person 類變成乙個可呼叫物件 class...

簡談python中的 call

最近在思考 call 和類方法的使用場景,雖然功能會有重疊,但凡存在的必是合理的,肯定會有輕微的不同,看了django以及部分框架的設計原始碼,各有各的設計風格,本著功能邊界的看法,所以做個總結。classa def init self,a,b self.a a self.b b defdo sta...

JS中的call 和apply 方法

1 方法定義 call方法 2 常用例項 a function add a,b function sub a,b add.call sub,3,1 這個例子中的意思就是用 add 來替換 sub,add.call sub,3,1 add 3,1 所以執行結果為 alert 4 注意 js 中的函式其...