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 함수를 통해 조회할 수 있습니다.