Class 에서 init self 사용
2024. 11. 14. 10:38ㆍ정보처리,전산/Python
반응형
Cal 클래스에서 생성자에서 a와 b를 직접 받는 방식, 생성자에서 인자를 받지 않고, 메서드에서 인자를 받는 방식이 있다.
클래스들의 차이점:
- 사용자의 의도:
- 첫 번째 클래스는 특정 값을 a, b로 설정하고 계속해서 사용할 때 유용한다.
- 두 번째 클래스는 값이 계속 바뀌는 경우에 유용하며, 메서드 호출 때마다 새로운 값을 넘겨줘야 한다.
- 세 번째 클래스는 상태 메시지(self.final)를 추가하여 계산 후 결과 외에도 추가적인 정보를 제공한다.
- 생성자: __init__에서 a와 b를 인자로 받는다. 인스턴스를 만들 때 Cal(4, 5)와 같이 두 개의 인자를 전달해야 한다.
- 메서드: 각 메서드는 self.a와 self.b를 사용하여 계산을 수행한다. 이때, self.a와 self.b는 생성자에서 설정된 값이다.
- 사용 예시: cal = Cal(4, 5)로 인스턴스를 만들고, 메서드를 호출할 때는 인스턴스에 저장된 a와 b 값을 사용한다.
class Cal :
def __init__(self):
pass
def sum(self,a,b):
return a+b
def div(self,a,b):
return a/b
def mul(self,a,b):
return a*b
def sub(self,a,b):
return a+b
cal = Cal()
print(cal.mul(3,5))
- 생성자: __init__에서 아무 것도 하지 않는다. 이 클래스는 인스턴스를 생성할 때 a와 b를 받지 않는다.
- 메서드: 각 메서드는 계산을 할 때마다 직접 a와 b를 인자로 받아서 사용한다. 즉, 메서드 호출 시마다 인자를 전달해야 한다.
- 사용 예시: cal = Cal()로 인스턴스를 만들고, 메서드를 호출할 때는 cal.mul(3, 5)처럼 각 메서드에 인자를 전달해야 한다.
class Cal :
def __init__(self):
self.final="계산 완료"
pass
def sum(self,a,b):
return a+b,self.final
def div(self,a,b):
return a/b
def mul(self,a,b):
return a*b
def sub(self,a,b):
return a+b
cal = Cal()
print(cal.mul(3,5))
print(cal.sum(3,5))
- 생성자: __init__에서 self.final이라는 속성을 초기화한다.
- 메서드: sum 메서드는 계산 결과와 함께 self.final을 반환한다.
- 사용 예시: cal = Cal()로 인스턴스를 만들고, 메서드를 호출할 때는 인자를 전달하며, 결과와 함께 self.final 속성도 반환할 수 있다.
반응형
'정보처리,전산 > Python' 카테고리의 다른 글
데이터 타입을 처리, 결과를 누적 (0) | 2024.11.28 |
---|---|
재귀와 메모이제이션을 활용한 수열 계산 (0) | 2024.11.28 |
np.outer (1) | 2024.10.22 |
Python 클래스와 메서드 (0) | 2024.10.22 |
NumPy를 사용하여 1차원 배열을 2차원 배열로 변환하는 과정 (0) | 2024.10.22 |