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

파이썬 함수를 어떻게 오버로드할 수 있습니까?

<시간/>

Python에서는 여러 방법으로 호출할 수 있는 방식으로 메서드를 정의할 수 있습니다. 함수 정의에 따라 0, 1, 2 또는 그 이상의 매개변수를 사용하여 호출할 수 있습니다. 이것을 메소드 오버로딩이라고 합니다.

주어진 코드에는 sayHello() 메서드가 하나 있는 클래스가 있습니다. 아래와 같이 다시 작성합니다. 이 메서드의 첫 번째 매개변수는 None으로 설정되어 있으며 매개변수를 사용하거나 사용하지 않고 호출할 수 있는 옵션을 제공합니다.

객체는 클래스를 기반으로 생성되며 0개와 1개의 매개변수를 사용하여 해당 메서드를 호출합니다. 메소드 오버로딩을 구현하기 위해 두 가지 방법으로 sayHello() 메소드를 호출합니다. 1. obj.sayHello() 및 2.obj.sayHello('Rambo')

허용하도록 정의된 것보다 적은 수의 인수로 호출할 수 있는 메서드를 만들었습니다. 우리는 두 개의 변수로 제한되지 않습니다. 주어진 메소드에는 선택 사항인 더 많은 변수가 있을 수 있습니다.

예시

class Human:
      def sayHello(self, name=None):
          if name is not None:
             print 'Hello ' + name
          else:
             print 'Hello '
obj = Human()
print(obj.sayHello())
print(obj.sayHello('Rambo'))

출력

Hello
None
Hello Rambo
None