문제해결
- 의사코드(pseudocode)를 작성하며 로직을 코드로 표현한다.
- 알고리즘과 같이 수식이나 익숙하지 않은 개념에 대해 접근하는 경우를 위해 의사코드를 작성한다.
- 프로그래밍을 통해 논리적으로 문제를 생각한다.
프로세스
- 문제를 단위별로 쪼갠다.
- 최소한의 시간을 활용하여 분석한다.
- 어렵다면 전체 문제 중 해결할 수 있는 부분을 찾는다.
의사코드(pseudocode)
- 실행되는 소스코드 작성 전, 자신이 이해할 수 있는 코드를 작성하는 연습을 한다.
시뮬레이션
컴프리헨션(Comprehension)
- 한 줄로 파이썬 기능을 구현할 수 있는 기능이다.
- 코드 간소화가 가능하고, 직관적이며 속도가 빠르다.
- 복잡해지면 직관성이 떨어지고, 메모리 사용량이 증가하여 사용하기 어렵다.
1 |
|
1 |
|
1 |
|
지역변수와 전역변수
- 변수 사용에 따라 함수 및 클래스의 접근이 달라진다.
- 변수이름 설정, 변수 활용도에 따라 변수설계가 중요하다.
- 지역변수: 해당 변수가 포함된 함수 안에서만 수정하고 읽을 수 있다.
- 일반 전역변수: 하나의 파이썬 파일 전체에서 값을 읽을 수 있다.
- 되도록 함수 안에서 사이드 이펙트 및 가독성을 위해 값을 수정하지 않도록 한다.
- Global 전역변수: 일반 전역변수와 다른 점은 변수가 생성되는 시점만 다르다.
1 |
|
구문 및 예외 상황 처리
- 반복문 이후, else를 사용하는 경우 대부분의 else가 즉시 실행된다.
assert
- assert 조건, ‘에러메시지’
- 조건이 True인 경우 그대로 코드 진행, False인 경우 에러메시지(Assertion Error)를 띄워준다.
- 에러메시지: 앞에 조건이 False인 경우 AssertionError와 함께 남길 메시지를 남겨줄 수 있다. 이 부분은 생략 가능한 부분이다.
- assert()는 방어적 프로그래밍(defensive programming) 방법 중 하나이며, 코드를 점검하는데 사용된다.
1 |
|
try/except/raise/finally
- try : 처리하고자 하는 부분을 넣는다.
- except : try구문 안에서 발생할 것으로 예상되는 예외를 처리한다.
- raise : 예외상황일 때 명시적으로 처리한다.
- finally : 마지막으로 실행하는 코드