1.1 프로그래밍 언어로서의 특징
1. 간단하고 읽기 쉬운 동적타입 언어
- 변수나 함수의 반환값 타입을 지정 할 필요가 없는 동적타입 언어
- 들여쓰기를 이용한 블록표현
2. 하위 호환성 중시
- 과거버전과의 하위호환성을 중시
- 하위호환이 가능하지 않는 변경을 포함할때는 1년이상의 마이그레이션 기간 설정
3. 풍부한 표준 라이브러리
- 표준라이브러리: 파이썬 설치시 즉시 이용가능한 라이브러리
- 다른언어에서는 서드파티 라이브러리를 통해 제공하는 라이브러리를 표준라이브러리로 제공
- ex) json, csv, zipfile, sqlite3, pickel ...
4. 다양한 용도로 이용
- 웹 , 교육, 과학 기술계산 (데이터분석, 머신러닝), os, 인프라, 보안 등 여러분야에서 이용
1.2 파이썬의 역사와 현황
1. 파이썬 자체의 진화
- 파이썬의 탄생
- 1989년 개발자 귀도가 크리스마스 휴가를 보내면서 개발
- 파이썬 2 계열에서 메이저 언어로
- 2버전 이후 메이저언어로
- 순환참조, 가비지컬렉션, 유니코드, 컴프리헨션 등 대거 기능 도입
- 2버전부터 구글, 드롭박스, 인스타그램 등 많은기업들이 이용
- 파이썬 3계열로 이동
- 하위호환이 불가능한 변경이 다수 포함
- 두 메이저 버전을 번갈아가며 사용해야하는 큰 문제 발생
- 파이썬 최근상황
- 2.7 지원중단
- 기능, 성능면에서 3이 2보다 훨씬 뛰어남
1.3 파이썬 커뮤니티의 특징
1. 커뮤니티 주체 오픈소스 소프트웨어
- 자유오픈소스 소프트웨어 (비영리 파이썬 소프트웨어 재단에서 관리)
- github: python/cpython
- GPL라이센스와 호환인 PSFL (무료 이용, 누구나 수정 배포)
- 파이콘: 파이썬 사용자들이 모이는 컨퍼런스
2. PEP의 존재
- 파이썬 확장제안 (Python Enhanceement Proposal)
- 코딩규약, 파이썬 출시일정, 인터페이스 정의, 현재까지 제안된 기능에 관한 논의결과
- PEP 8
- 가독성, 일관성을 위한 권장사항
- 이름규칙, 들여쓰기 등..
- PEP 8기반 체커나 자동정렬 도구 권장
- PEP 20
- PEP 272
- 문서 작성 방법
- """ """ 형태의 독스트링사용
- 소스코드 읽을때 도움 및 문서를 기술
Reference