1장

Han Hanju·2022년 3월 3일
0
post-thumbnail

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

  • 도서) 파이썬실천기술
profile
Data Analytics Engineer

0개의 댓글