이 튜토리얼은 프로그래밍 언어 파이썬(Python)에 대해 다룬다. 필자가 약 2년에 걸쳐 작성하던 파이썬 입문서 집필을 취소하고, 블로그에 업로드하기로 했다.
파이썬의 시작과 특징에 대한 간략한 이야기
Mac, Windows에서 파이썬, PyCharm을 설치하는 과정
PyCharm에서 프로젝트를 생성하고 모듈을 생성하는 과정
이제 파이썬 프로그래밍을 시작해 보도록 하자. 첫 단원에서는, 제목처럼 print('Hello, world!')라는 한 줄의 파이썬 코드를 실행해볼 것이다.
주석의 필요성, 파이썬의 주석 표현, 다른 언어들의 주석 표현 방법, 파이썬의 주석 작성 관례 등
코드 스타일과 관례(Convention), PEP(Python Enhancement Proposals)
변수, input, 예약어, 컨벤션, 평가와 할당, unpacking과 chained assignment, keyword 모듈과 copy
1234라는 값이 있을 때, 각각을 따로 읽어 일이삼사라고 할 수도 있고, 숫자로 따져 천이백삼십사라고 읽을 수도 있다. 실생활에서는 값이 사용되는 문맥에 따라 숫자인지 문자인지를 판단할 수 있지만, 프로그래밍에서는 컴퓨터가 값의 형태를 알 수 있게 해주어야 한다.
정수, 실수, 복소수, 2, 8, 16진수와 digit grouping 표현, 지수 표기법, 정수에 대한 메모리 최적화
덧셈, 뺄셈, 곱셈, 나눗셈, 나눗셈의 나머지, 소수부를 버리는 나눗셈, 거듭제곱 연산자와 복합 대입 연산자, 연산자 우선순위
문자열, 따옴표 종류, 개행, triple-quoted string, 문자열 리터럴의 결합, escape sequence, 따옴표 관례, r(raw)-string, bytes
f-string, placeholder와 format 메소드, numbered placeholder, named placeholder, 중괄호 escaping, f-string debug support, format specifier 등
bool 타입 변수의 네이밍 컨벤션, 상수가 대문자로 시작하는 이유, bool은 int의 서브클래스
None, NoneType
컨테이너, Iterable, list 리터럴 표현식, sum, len
tuple 리터럴, list와 tuple의 차이, Mutability, Mutable, Immutable, Constant Folding, copy 상황에서 list vs tuple, Overallocation
Indexing, Slicing, Slice에 None이 명시되거나 무시될 때, Slice에 대한 값 할당, Slicing을 이용한 shallow copy
음수 인덱스, 음수 인덱스를 Index와 Slicing에 응용
step, 음수 step, slicing 구분의 기본값, 회문 검사에 응용하기
Sequence 간의 합, Sequence와 int 간의 곱, 복합 대입, 메모리 관점에서의 Sequence 산술 연산, Constant Folding 최적화