파이썬에는 오버로딩이라는 개념은 있지만 오버로딩이라는 개념은 없습니다. 그래서 어떤 사람들은 파이썬 같은 언어는 함수 오버로딩을 지원하지 않는다고 하고, 어떤 사람들은 파이썬에 오버로딩 기능이 있다고 합니다. 실제로 Python 프로그래밍에서 오버로딩의 목적에는 오버로딩 동작이 부족합니다. 즉, Python에는 오버로딩이 필요하지 않습니다!
python은 변수 유형을 선언할 필요가 없습니다. 함수는 모든 유형의 매개변수를 허용하므로 매개변수 유형에 따른 오버로드를 지원할 수 없습니다. . 이것들은 모두 괜찮습니다. 함수 내에서 판단하고 처리하는 함수를 작성할 필요가 없습니다. Python에는 매개변수를 전달하는 여러 가지 방법이 있습니다. 기본 매개변수/변수 매개변수/변수 키워드 매개변수는 함수 매개변수의 변수 매개변수 문제를 처리할 수 있습니다.
python3.4에 추가된 다시 로드 메커니즘
python3.4에는 다시 로드를 구현하는 전달 메커니즘이 있습니다
from functools import singledispatch @singledispatch def function(obj): print('%r'%(obj)) @function.register(int) def function_int(obj): print('Integer: %d'%(obj)) @function.register(str) def function_int(obj): print('String: %s'%(obj)) @function.register(list) def function_list(obj): print('List: %r'%(obj)) if __name__ == "__main__": function(1) function('hello') function(range(3)) function(object)
위 내용은 파이썬에 오버로딩이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!