在python中自定义类时,如果该类实现了一个特殊方法__call__(),那么该类的实例则变成一个可调用的实例对象
如下
In [1]: class A():# 自定义一个A ...: def __call__(self,args): # 实现特殊方法__call__
...: print(args) ...:
In [2]: a = A()
In [3]: a("__call__") __call__
a = A() # 对自定义的类A,实例化一个对象a
a("__call__") # 应该该类实现了_call__()方法,那么该类创建的对象都是可调用的(即直接在对象后添加括号()则表示调用)
或者:A()("__call__")和上面的效果是一样的
这样的用法在selenium的显示等待中大量使用
原文:https://www.cnblogs.com/yaoqingzhuan/p/8910152.html