>백엔드 개발 >파이썬 튜토리얼 >Python 객체 유형 판단 및 함수 오버로딩

Python 객체 유형 판단 및 함수 오버로딩

高洛峰
高洛峰원래의
2016-10-19 14:57:291369검색

1. 객체 유형 결정

type 함수를 통해 객체의 유형을 알 수 있습니다.

x = 'Hello'
s = type(x)
print s
x = 'Hello'
s = type(x)
print s

2. 함수 오버로딩

함수를 작성할 때 다양한 매개변수 유형과 다양한 매개변수 개수를 처리해야 하는 상황에 자주 직면하게 됩니다.

C++에서는 이름은 같지만 매개변수가 다른 여러 함수를 정의하여 오버로딩을 달성하는 것이 일반적입니다.

그러나 Python에서 오버로딩은 매개변수 유형 판단 + 기본값이라는 다른 방법으로 달성할 수 있습니다.

import os, sys
def tracelog(s='', n=40):
    if isinstance(n, int):
        print '-'*n
    else:
        print '-'*40
    if isinstance(s, str):
        print s
    elif isinstance(s, list):
        s1 = ''
        for x in s:
            s1 = s1 + ' ' + x
        print s1
   
def main():
    tracelog(n=50)
    tracelog(sys.argv)
    tracelog(n=20)

main()

import os, sys
  
def tracelog(s='', n=40):
    if isinstance(n, int):
        print '-'*n
    else:
        print '-'*40
    if isinstance(s, str):
        print s
    elif isinstance(s, list):
        s1 = ''
        for x in s:
            s1 = s1 + ' ' + x
        print s1
  
def main():
    tracelog(n=50)
    tracelog(sys.argv)
    tracelog(n=20)
main()

위 코드는 함수 추적 로그를 정의합니다. s 매개변수는 문자열이거나 목록일 수 있으며 지정된 길이의 수평선을 인쇄할 수도 있습니다.

그 중: isinstance 함수는 객체가 다음과 같은 것인지 확인하는 데 사용됩니다. 두 번째 매개변수는 객체 유형으로, type 함수를 통해 조회할 수 있습니다.


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