나는 세 가지 지능을 가지고 Time
속성 클래스를 정의 : hrs, min, sec
파이썬 :이 경우 isinstance()가 필요합니까?
그리고 그 시간 (초)이며, 또한 방법 timeToInt()
을 할 수 있다는 int
,에 Time
인스턴스를 변환 방법 intToTime()
정의 역.
나는 그들을 __add__
을 구현하고 싶습니다, 그래서 100 (초)이 TIMEA에 추가입니다 "TIMEA + TimeB"또는 "티 메아 + 100", 같은 일을 할 수 있습니다.
내가
def __add__(self,num):
return Time.intToTime(self,Time.timeToInt(self)+num)
def __add__(self,other):
return Time.intToTime(self,Time.timeToInt(self)+Time.timeToInt(other))
"NUM"이 int로, 있어야하는데, (파이썬에는 오버로드가 없기 때문에) 이러한 "기타"다른 시간 인스턴스 두 개의 병합하고자한다. 나는 isinstance()를 사용하는 한 가지 방법을 안다.
하지만 내 질문은 이 경우 어떻게 구현해야합니까? 을 isinstance()를 사용하지 않고 추가해야합니까?
하지만 지금은 isintance를 사용하지 않습니다. – Eenvincible
후자의'__add__'는 파이썬에서 메소드 오버로딩이 없기 때문에 이전의 것을 쉐도우합니다. –
여기서 Time 인스턴스는 세 개의 int (hrs, min 및 sec)의 조합입니다. –