-
Tutorial 0.3 PythonTutorial/0.Tutorial 2022. 8. 21. 21:27
개발 입문단계에 있어, 다른 이에게 보여줄 어떤 참고서를 작성하는 일은 나에게 마땅치 않은 것 같다.
기왕의 공부내용은 다른 체계(https://1drv.ms/u/s!Ah3ot1Iz99uHgQuYOr3XDyRMXjIZ)로 정리되어 있다.
이 블로그는 일종의 "루만의 메모상자"처럼 사용하려 한다.
0.1
1.0 클래스
*setdata 매서드
FourCal 이라는 클래스에 setdata 매서드로 3개의 매개변수를 넣는다.
이 때 첫번째 매개변수 self에는, 이후 클래스로 찍어낸 객체의 이름이 자동으로 불려온다.
'self' 라는 문자열 자체는 그냥 관례적인 사용. 다르게 해도 상관 없다.
클래스를 통해 메서드를 호출하는 것도 가능. 이때는 객체 a를 첫 번째 매개변수 self에 꼭 전달해 주어야 한다.
a = FourCal() FourCal.setdata(a, 4, 2)
객체.메서드 형태로 호출할 때는 self를 반드시 생략해서 호출해야 한다.
a = FourCal() a.setdata(4, 2)
*사칙연산 실습
>>> class FourCal: ... def setdata(self, first, second): ... self.first = first ... self.second = second ... def add(self): ... result = self.first + self.second ... return result ... def mul(self): ... result = self.first * self.second ... return result ... def sub(self): ... result = self.first - self.second ... return result ... def div(self): ... result = self.first / self.second ... return result
result = 0 def add(num): global result result += num return result print(add(3)) print(add(4))
매개변수 num을 result에 더한 후 리턴하는 함수.
add(3) = 3, add(4) = 7 이 나온다.
*생성자
객체에 초깃값을 설정해야 할 필요가 있을 때는 setdata와 같은 메서드를 호출하여 초깃값을 설정하기보다는 생성자를 구현하는 것이 안전한 방법이다. 생성자(Constructor)란 객체가 생성될 때 자동으로 호출되는 메서드를 의미한다.
파이썬 메서드 이름으로 __init__를 사용하면 이 메서드는 생성자가 된다.
def __init__(self, first, second): self.first = first self.second = second
__init__ 메서드는 setdata 메서드와 이름만 다르고 모든 게 동일하다.
단 메서드 이름을 __init__으로 했기 때문에 생성자로 인식되어 객체가 생성되는 시점에 자동으로 호출되는 차이가 있다.
*미경험에서 나오는 의문. setdata 로 지정하지 않고 굳이 생성자를 만들어야 하는 이유는 무엇인가?
'Tutorial > 0.Tutorial' 카테고리의 다른 글
REST API : 그러니까 창문은 창문답게 투명하게, 보기 쉽게 만들라는 것 (1) 2022.10.01 Tutorial 0.4 API (0) 2022.09.05 Tutorial 0.0 용어 정리 (0) 2022.08.18 Tutorial 1.1 SQL (0) 2022.08.15 Tutorial 1.0 데이터분석 (0) 2022.08.12