Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 클래스 메서드 체이닝 설명

<시간/>

메서드 체이닝

메소드 연결은 개체 참조를 한 번만 사용하여 동일한 개체에 대해 여러 메서드를 호출하는 데 사용되는 기술입니다. 예 -

bar와 baz의 두 가지 메서드가 있는 Foo 클래스가 있다고 가정합니다.

Foo −

클래스의 인스턴스를 만듭니다.
foo = Foo()

메소드 체이닝 없이 foo 객체에서 bar와 baz를 모두 호출하려면 다음을 수행합니다. -

foo.bar()
foo.baz()

메소드 체이닝을 사용하여 다음을 수행합니다. -

foo 개체의 bar() 및 baz() 메서드 모두에 대한 연쇄 호출

foo.bar().baz()

예시

간단한 메서드 체인은 Python에서 쉽게 구현할 수 있습니다.

class Foo(object):
    def bar(self):
        print "Foo.bar called"
        return self
    def baz(self):
        print "Foo.baz called"
        return self
foo = Foo()
foo2 = foo.bar().baz()
print " id(foo):", id(foo)
print "id(foo2):", id(foo2)

출력

다음은 위의 프로그램을 실행한 결과입니다 -

Foo.bar called
Foo.baz called
id(foo): 87108128
id(foo2): 87108128