__call__()
方法的作用其实是把一个类的实例化对象变成了可调用对象,也就是说把一个类的实例化对象变成了可调用对象,只要类里实现了__call__()
方法就行。
在编写类的时候,如果写了__call__()
方法,在实例化的对象进行调用的时候就会有 实例对象点__call__()
和 object()
这两种使用方式效果一样的现象,即调用方法一和调用方法二效果一样。
如当类里没有实现__call__()
时,此时的对象p 只是个类的实例,不是一个可调用的对象,当调用它时会报错:‘Person’ object is not callable.
python 可调用对象:可以通过内置函数callable来判断