본문 바로가기

python

덕 타이핑(Duck typing)

만약 어떤 새가 오리처럼 걷고, 헤엄치고, 꽥꽥거리는 소리를 낸다면 나는 그 새를 오리라고 부를 것이다.

class Duck: def quack(self): print u"꽥꽥!" def feathers(self): print u"오리에게 흰색, 회색 깃털이 있습니다." class Person: def quack(self): print u"이 사람이 오리를 흉내내네요." def feathers(self): print u"사람은 바닥에서 깃털을 주어서 보여 줍니다." def in_the_forest(duck): duck.quack() duck.feathers() def game(): donald = Duck() john = Person() in_the_forest(donald) in_the_forest(john)

해당 변수, 메소드만 가지고 있으면 다른건 무시하고 실행한다는 뜻이다.

솔직히 자료형을 명시안해도 되는 파이썬이기 때문에 모르고 사용하고 있음


타 언어들은 덕 타이핑을 제네릭으로 표현 하던데 

아무래도 덕 타이핑 개념에는 파이썬이 딱 맞지 않을까? 

'python' 카테고리의 다른 글

scrapy install error  (0) 2018.04.29
클래스 메소드에 인수로 self 주는 이유  (0) 2018.04.28
타입 힌팅(type hinting)  (0) 2018.04.28
mutable과 immutable한 객체  (0) 2018.04.28
(19)번역 api 사용 후기  (0) 2018.04.07