본문 바로가기
WIL&TIL/TIL

20230328 TIL 3일째 class 다시 공부하는 사람

by 코드뭉치 2023. 3. 28.

 

1. 클래스 보충강의 정리


함수가 클래스 안에 있으면 메소드. 밖에 있으면 함수

 

__init__메소드는 어떤 데이터들을 기반으로 인스턴스를 생성할지 지정한다.

메소드의 첫번째 인자는 무조건 self

 

self를 인자로 받는이유

 self는 인스턴스 그 자체

 예를 들어 power = 10으로 지정할 시 다른 메소드에서 가져다 쓸 수 없다.
 그러나 self.power는 클래스 안에서 공용으로 사용할 수 있다. 

 즉, self를 이용하여 인스턴스 변수를 설정하거나, 다른 메소드를 호출하거나, 인스턴스의 속성을 변경할 수 있다.


class를 여러개 상속받을 수도 있다.(지금 레벨에서는 잘 쓸일 없을 것)

 다중 상속시 먼저 상속받은 값을 우선순위로 한다.
 (자세한 사항은 MRO(메소드 결정 순서)를 참고할 것)

 

코드를 짜는 법

 주석으로 세부 사항들을 적어나가면서 코드틀을 잡은 뒤,

 중복되는 코드들은 상위 클래스를 생성해 묶어주는 등 코드를 줄여나가는게 좋다.


메소드의 default값(a=123)을 지정해 줄때.

 default값이 있는 인자 뒤에 default값이 없는 인자가 오면 오류가 발생한다.

 > default 값을 주는 변수들은 인자값 입력란() 마지막에 써줘야 한다.

 (a=100(default가  있는 인자) ,b(default가 없는 인자)) 이게 아니라

 (b(default가 없는 인자)a=100(default가  있는 인자)) 이런식으로 써야함


2. 반복문의 제어구문

 break를 만나면 반복문에서 탈출하고, 다음 코드를 실행한다.
 continue를 만나면 반복문의 현재 반복을 건너뛰고, 진행한다.  continue이후의 반복은 실행되지 않는다. 
 pass를 만나면 아무것도 하지않고, 다음 코드를 실행한다.

 

3. 반복문이 아닐때 탈출하는 법

 import sys

 sys.exit() 

 => 긴급탈출!!!

 

댓글