파이썬(Python)이란?

Python 로고

파이썬(Python)이란?

파이썬(Python)은 1990년 암스트레담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어이다. 귀도는 파이썬이라는 이름을 자신이 좋아하는 코미디 쇼인 “몬티 파이썬의 날아다니는 써커스(Monty Python’s Flying Circus)”에서 따왔다고 한다.

인터프리터 언어란 한 줄씩 소스 코드를 해석해서 그때그때 실행해 결과를 바로 확인할 수 있는 언어이다.

파이썬은 처음에는 C 언어 기반으로 개발되었으며 이후 다양한 기능이 추가되었다. 최근 가장 인기 있는 언어이다.

파이썬의 특징

  • 인간다운 언어
    • 프로그래밍이란 인간이 생각하는 것을 컴퓨터에 지시하는 행위를 말한다. 파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있는 언어이다. 따라서 파이썬을 사용하는 프로그래머는 굳이 컴퓨터의 사고 체계에 맞추어 프로그래밍하려고 애쓸 필요가 없다.

        if 4 in [1,2,3,4]: print("4가 있습니다.")
      
  • 쉬운 문법
    • 파이썬은 문법 자체가 아주 쉽고 간결하며 사람의 사고 체계와 매우 닮아 있다.
  • 간결하다
    • 귀도는 파이썬을 의도적으로 간결하게 만들었다. 만약 펄(Perl)과 같은 프로그래밍 언어가 100가지 방법으로 하나의 일을 처리할 수 있다면 파이썬은 가장 좋은 방법 1가지만 사용하는 것을 선호한다. 이 간결함의 철학은 파이썬 문법에도 그대로 적용되어 파이썬은 프로그래밍을 하는 사람들을 잘 정리되어 있는 소스 코드를 볼 수 있다.
    • 다른 사람이 작업한 소스 코드도 한 눈에 들어와 이해하기 쉽기 때문에 공동 작업과 유지 보수가 아주 쉽고 편하다.
  • 빠른 개발 속도
    • “Life is too short, You need python.” (인생은 너무 짧으니 파이썬이 필요해.)
      • 파이썬의 엄청나게 빠른 개발 속도를 두고 유행처럼 퍼진 말이다.
    • 간결한 문법과 풍부한 라이브러리 지원 덕분에, 복잡한 작업도 상대적으로 빠르게 구현할 수 있다.
  • 동적 타이핑
    • 파이썬은 동적 타이핑 언어이다. 이는 변수의 타입을 런타임에 결정하므로, 개발 과정이 더 유연해진다.
  • 플랫폼 독립성
    • 파이썬은 대부분의 운영체제에서 동작한다. 즉, 플랫폼에 구애받지 않고 프로그램을 개발할 수 있다.

파이썬의 장단점

장점

  1. 쉬운 문법: 파이썬의 문법은 간결하고 직관적이며, 쉽게 익힐 수 있다. 이로 인해 코드의 가독성이 좋고, 신속한 개발이 가능하다.
  2. 다양한 분야에서의 활용: 웹 개발, 데이터 분석, 인공 지능, 머신 러닝, 네트워크 서버 등 다양한 분야에서 활용할 수 있다.
  3. 풍부한 라이브러리: 파이썬은 큰 개발자 커뮤니티와 수많은 라이브러리, 프레임워크를 가지고 있어, 거의 모든 종류의 문제를 빠르게 해결할 수 있다.
  4. 동적 타이핑: 동적 타이핑을 지원하기 때문에 런타임에서 변수의 타입이 결정됩니다. 이는 개발 과정을 유연하게 해준다.
  5. 멀티 패러다임 지원: 객체 지향, 절차 지향, 함수형 프로그래밍 등 다양한 프로그래밍 패러다임을 지원한다.
  6. 코드 재사용과 모듈화: 코드의 재사용이 쉽고, 모듈화가 잘 되어 있어 유지보수가 간편하다.
  7. 플랫폼 독립성: 대부분의 플랫폼에서 동일한 코드를 실행할 수 있다.
  8. 커뮤니티와 지원: 광범위한 커뮤니티와 풍부한 문서, 튜토리얼이 있어서 학습과 문제 해결이 상대적으로 쉽다.

단점

  1. 속도: 파이썬은 인터프리터 언어이므로 컴파일 언어(예: C, C++)보다 실행 속도가 느릴 수 있다.
  2. 동적 타이핑의 한계: 동적 타이핑은 유연성을 제공하지만, 큰 프로젝트에서는 예상치 못한 타입 관련 오류를 유발할 수 있다.
  3. 메모리 소비: 일반적으로 파이썬 애플리케이션은 메모리를 많이 사용하는 편이다.
  4. 모바일 개발: 파이썬은 모바일 앱 개발에는 잘 사용되지 않는다. 주로 웹 및 서버 개발, 스크립팅, 데이터 분석 등에서 강점을 보인다.
  5. GIL(Global Interpreter Lock): GIL은 파이썬이 멀티 코어를 제대로 활용하지 못하게 하는 제약 사항 중 하나이다. 이로 인해 CPU-바운드 작업에서는 성능이 제한될 수 있다.
  6. 초기 성장 장벽: 표준 라이브러리와 커뮤니티가 제공하는 다양한 패키지와 툴이 많아, 초보자가 처음에 어떤 것을 선택해야 할지 혼란스러울 수 있다.

출처
https://m.blog.naver.com/rlarbtjq7913/221719844361
https://wikidocs.net/6

* TOC {:toc}

© 2021. All rights reserved.