Code › codeit-ai-sprint

pre-course에서 파이썬을 다시 보는 중 (두번째 코스까지 완료)

코드잇 AI 엔지니어 스프린트 pre-course에서 다시 살펴본 파이썬 기본기

코드잇 AI 엔지니어 스프린트 pre-course 강의 세 개 중 두 개를 끝냈다. 각 강의 내에 실습도 할 수 있고 퀴즈도 있어서 나의 이해도를 확인할 수 있어서 좋았다.

첫 번째 강의는 파이썬 입문이었고, 파이썬이 뭔지부터 코드를 어떻게 실행하는지, 변수와 자료형, 함수, 파라미터, return 같은 기본 개념을 다뤘다. 두 번째 강의는 자료형, 추상화, 제어문 쪽으로 조금 더 들어가서 숫자형, 문자열, 형 변환, f-string, 불린형, 변수의 scope, while, if, elif 같은 내용을 봤다.

대부분은 리마인드에 가까웠지만 그냥 넘기지는 않았는데, 여러 언어를 써봤어도 같은 개념을 언어마다 조금씩 다르게 다루기 때문이다. 특히 형 변환처럼 겉으로는 익숙한 내용도 실제 동작은 언어별로 차이가 있고, 이런 부분은 다시 한 번 파이썬 기준으로 정리해두는 게 좋았다.

가장 기억에 남은 건 PEP 8이었다. 예전에 C++ 같은 언어를 배울 때는 공식 스타일 가이드를 먼저 접했다기보다, 현업에서 많이 쓰는 방식이나 팀의 관습을 따라가며 익혔던 것 같은데, 파이썬은 PEP 8처럼 공식 스타일 가이드가 초반부터 제시되어 있다는 점이 좋았다.

변수와 함수는 snake_case, 클래스는 PascalCase, 상수는 UPPER_SNAKE_CASE처럼 이름을 붙이는 방식이 정리되어 있고, 들여쓰기나 import 순서, 공백 사용 같은 기준도 있다. 문법 자체보다도 “파이썬 코드는 이렇게 읽히길 기대하는구나”라는 언어의 관습을 먼저 만나는 느낌이라 인상적이었다.

변수의 scope도 다시 보게 됐다. TypeScript에서는 let이나 const가 블록 scope를 만들지만, 파이썬은 if, for, while 블록이 별도의 scope를 만들지 않고 함수가 중요한 경계가 된다. 특히 함수 안에서 어떤 이름에 대입하면, 전역에 같은 이름이 있어도 파이썬은 그 이름을 지역 변수로 판단한다는 점이 눈에 들어왔다.

전역 값을 수정하려면 global 키워드를 써야 하는데, 이 부분은 강의에서 깊게 다루지는 않아서 따로 찾아봤다. 자주 쓸 일은 많지 않겠지만, 파이썬이 변수를 어떻게 판단하는지 이해하는 데 도움이 됐다.

실습은 기초 문제들이었지만 오랜만에 손으로 직접 쳐보는 게 좋았다. 눈으로 보면 아는 내용처럼 지나가는데, 직접 변수명을 짓고 함수를 만들고 조건문을 쓰다 보면 파이썬 감각이 살아나는 느낌이다.

남은 강의는 파이썬 기본기를 조금 더 정확히 보려는 마음으로 들어보려고 한다. 이후 AI, LLM, MLOps 쪽으로 들어가면 결국 파이썬 코드를 계속 읽고 쓰게 될 테니. (쓰는것은 에이전트가 하겠지만 ㅋㅋ)