代码如下:
p = np.poly1d([1, 2, 3])
p(0.5)
原文出处:https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.poly1d.html
poly1d
是一个类名,p应该是指向这个类的一个实例,p(0.5)
看起来是调用了一个方法,python中是不是有这样的语言特性:通过实例名称找到一个默认的方法?谢谢
相关问题
- how to define constructor for Python's new Nam
- streaming md5sum of contents of a large remote tar
- How to get the background from multiple images by
- Evil ctypes hack in python
- Correctly parse PDF paragraphs with Python
call
一个对象实例可以有自己的属性和方法,当我们调用实例方法时,我们用instance.method()来调用。能不能直接在实例本身上调用呢?在Python中,答案是肯定的。
任何类,只需要定义一个__call__()方法,就可以直接对实例进行调用。请看示例:
class Student(object):
def init(self, name):
self.name = name
调用方式如下:
如果你把对象看成函数,那么函数本身其实也可以在运行期动态创建出来,因为类的实例都是运行期创建出来的,这么一来,我们就模糊了对象和函数的界限。
实现__call__函数