>  기사  >  백엔드 개발  >  파이썬에 오버로딩이 있나요?

파이썬에 오버로딩이 있나요?

anonymity
anonymity원래의
2019-06-15 14:25:293983검색

파이썬에는 오버로딩이라는 개념은 있지만 오버로딩이라는 개념은 없습니다. 그래서 어떤 사람들은 파이썬 같은 언어는 함수 오버로딩을 지원하지 않는다고 하고, 어떤 사람들은 파이썬에 오버로딩 기능이 있다고 합니다. 실제로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.