2009-07-30 2 views
1

동적 언어 (파이썬 등 ...)로 계산기를하고 있고 add 메소드가 있다고 가정 해보십시오.오리 타이핑 - 구체적인 유형이 필요할 때는 어떨까요?

def Add(x, y) 
    print x + y 

이제는 잘못된 숫자가 전달 되었으면 일부 데이터 유형 검사가 필요합니다.

위의 예제와 같은 매개 변수와 대조적으로 개체에 대한 입력입니까?

누구든지 더 설명 할 수 있습니까?

내 말은 개체에 의해 편집

: 방법으로 전달되는 것에 대해 더주의

Person.Quack() 
Duck.Quack() 

.

답변

2

오리 유형 지정은 필요한 작업을 지원하는 한 작업중인 오브젝트가 무엇인지 신경 쓰지 않는 것입니다. 따라서 +가 문자열 연결이면 문자열을 Add에 전달하는 것이 좋습니다. 날짜가 + 연산을 지원하면 전달 날짜도 괜찮을 것입니다.

+0

+1 예제 Add 메서드는 문자열에 적합합니다. '+'와 관련하여, 많은 많은 타입들이 작동 할 것이다. –

+0

이것은 내가 읽고 쓰는 것입니다. 그러나 그들이 당신이 데이트를 사용하기를 원하지 않을 때 어떤 일이 벌어 지는지 이해합니다. 계산기의 경우 데이터 유형을 확인해야합니다. 따라서 오리 털이 치기. – Finglas

+0

@ Dockers : 데이터 유형을 확인해야하는 이유는 무엇입니까? 계산기가 날짜와 문자열로 작동하지 않는 이유는 무엇입니까? –