Python은 간결한 문법과 고수준 자료 구조를 제공하는 범용 프로그래밍 언어이다. 자동화와 웹 서비스, 데이터 처리 등 여러 분야에서 사용한다. 언어 자체와 대표 구현인 CPython, 분야별 라이브러리를 구별해서 이해하는 것이 좋다.
프로그래밍 언어 | |
|---|---|
언어 | Python · Java · JavaScript · TypeScript · Rust |
분야 | 동적 타입 범용 프로그래밍 언어 |
|---|
값과 자료 구조
리스트·딕셔너리·집합 같은 자료 구조와 함수·클래스를 사용해 문제를 표현한다. 동적 타입 언어이므로 변수 이름에 고정된 타입을 먼저 선언하는 방식과는 다르지만, 값의 타입에 따른 연산 규칙은 존재한다. 문자열과 수를 혼용하는 오류를 언어가 모두 자동으로 해결해 주지는 않는다.
타입 힌트의 역할
함수 인자와 반환값 등에 타입 힌트를 적으면 정적 검사 도구와 편집기가 활용할 수 있다. 그러나 Python 실행 환경은 타입 주석 자체를 일반적으로 강제하지 않는다. 외부에서 받은 JSON이나 사용자 입력이 올바른 형식인지 확인하는 런타임 검증은 별도 책임이다.
예시와 실행 환경
로그 파일의 각 행을 읽고 날짜별 요청 수를 딕셔너리로 집계하는 작업은 Python의 자료 구조를 활용하는 예다. 파일 전체를 한 번에 메모리에 올릴 필요가 있는지, 잘못된 행은 어떻게 처리할지 결정하면 단순한 문법을 넘어 프로그램의 자원 사용과 오류 처리를 설계할 수 있다.
언어와 생태계
같은 Python 코드라도 설치된 패키지 버전과 실행 환경에 따라 결과가 달라질 수 있다. 프로젝트별 환경과 의존성을 관리하고 재현 가능한 실행 조건을 남긴다. 특정 수치 계산 라이브러리의 속도를 Python 언어 전체의 실행 속도와 동일시하지 않는다.
참고 자료