2011-02-14 3 views
0

파이썬에서 클래스 '숫자'를 정의했습니다. 이제 'number'라는 함수도 정의하고 싶습니다. ('int'또는 'str'과 마찬가지로 클래스도 있으며 유형 변환을 위해 함수 ('int()', 'str()')로 사용할 수 있습니다. 어떻게하면 (나의 클래스와 함수) '숫자'로 같은 것을 할 수 있습니까?파이썬 다형성 문제

[이 다형성 (polymorphism)로 전화를 올바른겠습니까?]

답변

3
class number(object): 
    def __init__(self, value) 
     self.val = value # or something like that 

n = number(2.3) 

int()str()은 타입 생성자이다 하지 기능입니다. 따라서 자신의 생성자 이니셜 라이저를 만들어야합니다.

+0

나만의 ** 이니셜 라이저 **, 생성자가 아닙니다. 그 차이는 ... 미묘하고, 당신이 조금 더 깊이 파질 때까지별로 중요하지 않습니다. –

1

당신이 callables 있습니다 원하는. 더 많은 것을 위해 this를보십시오.