Python 为什么可以对一个对象调用多个方法?

Python 为什么可以对一个对象调用多个方法?,python,oop,Python,Oop,像(伪代码,例如熊猫的ndframe)someObject.group().sum()这样的命令是如何实现的? (someObject.group())是否返回执行(…).sum()的新对象?您可以创建一个返回self的方法,该方法允许将方法调用链接在一起: from __future__ import print_function class Dog(object): def bark(self): print("bark!") return self

像(伪代码,例如熊猫的ndframe)
someObject.group().sum()
这样的命令是如何实现的?
(someObject.group())
是否返回执行
(…).sum()
的新对象?

您可以创建一个返回
self
的方法,该方法允许将方法调用链接在一起:

from __future__ import print_function

class Dog(object):
    def bark(self):
        print("bark!")
        return self

    def eat(self):
        print("snarf!")
        return self

fluffy = Dog()
fluffy.eat().bark()

您可以创建一个返回
self
的方法,该方法允许您将方法调用链接在一起:

from __future__ import print_function

class Dog(object):
    def bark(self):
        print("bark!")
        return self

    def eat(self):
        print("snarf!")
        return self

fluffy = Dog()
fluffy.eat().bark()

它返回为方法链接调用的实例。单独调用
someObject.group()
,查看您得到了什么?方法链接,请参阅Wikipedia它返回为方法链接调用的实例。单独调用
someObject.group()
,查看您得到了什么?方法链接,请参阅Wikipedia