因为Python中的很多东西都是包含函数的对象,所以可以这样做:
print.__call__.__call__("Hello World")
这是有效的,因为print
是一个函数对象,因此具有__call__
函数对象属性,该属性也是一个函数对象,它也有一个__call__
函数对象。
因此,当我们运行此代码时,我们通过使用参数__call__
调用其__call__
funciton对象来调用第一个"Hello World"
函数对象,然后调用__call__
函数对象(ut调用它所在的函数对象 - __call__
的点),然后发生这种情况,然后使用第二个__call__
对象发送的参数调用第一个__call__
函数对象( “Hello World”)然后调用它所在的函数对象print
,其中第一个__call__
被调用的参数为"Hello World"
因此打印出"Hello World"
}。