반응형 클래스3 파이썬 인스턴스를 함수처럼 사용하는 방법 __call__ 클래스를 가지고 인스턴스를 정의한 뒤에, 인스턴스이름(x,y)와 같은 형태로 메소드를 사용하고 싶은 경우 __call__ 메소드를 사용합니다. 예를 들어 봅시다. 아래와 같이 덧셈과 곱셈을 해주는 클래스를 하나 정의합시다. class calculator : def __init__(self): self.name='my function' def add(self,x,y): return x+y def mult(self,x,y): return x*y 아래와 같이 작동합니다. >>> mycal=calculator() >>> mycal.add(1,5) 6 >>> mycal.mult(1,5) 5 우리는 mycal(x,y) 라고 입력하면 곱셈이 수행되도록 하고 싶은 상황입니다. 인스턴스를 함수처럼 사용하고 싶은 것입니다.. 2023. 11. 3. 파이썬 클래스 상속과 super 이해하기 상속은 클래스 사이에서 일어납니다. A라는 클래스를 먼저 정의했다고 합시다. 이어서 B라는 클래스를 정의하는데, A라는 클래스의 메소드들을 가져와서 쓰고싶은 경우 B가 A를 상속받을 수 있습니다. 이때 메소드를 제공하는 클래스를 parent 또는 super 라고 부르고, 상속을 받는 클래스를 child 또는 sub 라고 부릅니다. parent(상속자)-child(피상속자) super(상속자)-sub(피상속자) 예를 한번 들어봅시다. 아래와 같이 부모 클래스를 하나 만들었습니다. class parent_or_super : def __init__(self): print("") def add(self,x,y): return x+y def mult(self,x,y): return x*y 인스턴스를 정의하고 메소.. 2023. 11. 2. [파이썬] 클래스의 메소드 목록 보는 법 (dir) 사이킷런에서 제공하는 iris 데이터를 불러와봅시다. import pandas as pd from sklearn.datasets import load_iris dt=load_iris() 불러온 데이터는 bunch 라는 클래스입니다. >>> type(dt) iris 데이터 뿐만 아니라 여러 정보들이 입력되어 있습니다. 피처 이름, 데이터, target 이름 등에 접근하려면 내부 구조를 알아야 합니다. 이때 dir이라는 함수를 사용합니다. >>> dir(dt) ['DESCR', 'data', 'data_module', 'feature_names', 'filename', 'frame', 'target', 'target_names'] 클래스 안에 정의된 속성과 메소드를 알수 있습니다. 이제 접근이 가능해졌습니다.. 2023. 9. 6. 이전 1 다음 반응형