Python - 개요

Yun Young Choi·2022년 5월 11일

Pyhton

목록 보기
2/9
post-thumbnail

파이썬의 사용 현황

  • 파이썬 언어는 오픈 소스 프로젝트로서 www.python.org를 통해 무료 배포되므로 누구나 쉽게 구하고 사용할 수 있다.
  • 컴퓨터학과가 있는 미국 상위권 대학의 70% 이상이 파이썬을 먼저 가르친다.
  • 또한 구글에서는 사내 표준 언어 중 하나이다.
    (Youbube, Google Maps, Gmail에서 활약 중)
  • NASA, 야후, 네이버를 비롯한 여러 스타트업에서도 사용되고 있다.
  • 교융용 보드인 라즈베리 파이에서도 사용
  • 파이썬을 이용하여 프로그램을 개발하는 기업은 점점 늘어나고 있다.


파이썬의 종류

  • CPython : C언어로 작성한 파이썬, 기본적을 파이썬은 CPython을 의미
  • JPython : Java로 작성한 파이썬, JVM에서 동작, 자바의 클래스를 그대로 사용가능
  • IronPython : .NET 프레임 워크와 Mono용으로 개발한 파이썬, C#으로 작성
  • PyPy : Python으로 구현한 파이썬, CPython보다 빠르게 수행되는 것을 목표로 한다.


Life is short, You need Python

  • 인생을 짧다, 당신에겐 파이썬이 필요하다.
    (파이썬의 엄청난 개발속도와 생산성을 보고 생긴 말이다.)


파이썬의 장점

오픈 소스
:: 비용이 들지 않는다. 전 세계 개발자가 참여하여 점점 발전하는 언어

쉽고 간결한 문법
:: 어렵고 규칙이 많은 기존 프로그램 언어와 달리 문법이 쉽고 간결하여 빠르게 배울수 있다. 기존 언어 개념을 알면 빠르게 습득 가능

뛰어난 가독성
:: 코드 블록({})을 쓰지 않고, 들여쓰기로 구분하여 블록 구분 수월
코드가 간결하여 이해하기 쉽고, 공동 작업이나 유지 보수가 쉽다.

동적 타이핑
:: 실행 중에 자료형이 체크되며, 메모리가 자동으로 관리됨.

유니코드 사용
:: 한글, 한자, 중국어 등 문자 표현 자유

풍부한 라이브러리
:: 기본적으로 제공되는 라이브러리가 풍부하고 이미 만들어져 있는 수많은 라이브러리를 쉽게 추가하여 구현할 수 있다.

빠른 개발 속도
:: 간결한 문법과 수많은 라이브러리를 이용하여 빠르게 개발 가능.

C언어와의 쉬운 연계
:: C언어로 구현되어 있는 부분과 잘 연결되므로 풍부하고 다양한 개발 가능, 속도 또한 향상 가능

대부분의 운영 체제에서 실행 가능
:: 주로 쓰이는 운영 체제에서 같은 방법으로 실행할 수 있다.

다양한 분야에 활용
:: 많은 사람들이 사용하고 있고, 쉬워서 다양한 분아야 활용할 수 있다.



파이썬 언어의 단점

연산 속도가 느림
:: C언어보다 약 2~140배 느리다. 빠른 연산이 필요한 부분은 C로 연산 후 연결하는 것을 권장

모바일 기기에서 활용이 어려움
:: 파이썬으로 개발된 스마트폰 애플리케이션이 거의없을 정도로 모바일 분야에서는 활용되지 않고 있다.



파이썬 언어의 활용

시스템 유틸리티 제작
:: 파이썬은 운영 체제의 시스템 명령어들을 사용할 수 있다.
이를 바탕으로 여러 가지시스템 유틸리티를 만드는 데 편리하다.

웹과 인터넷 서비스 개발
:: 동적으로 동작하는 웹을 서비스할 수 있다.
Flask, Django 프레임 워크가 대표적이다. 이를 활용하면 파이썬으로 쉽고 빠르게 웹 서버를 만들 수 있다.

네트워크 프로그래밍
:: Twisted 파이썬을 이용해 비동기식 네트워크 프로그래밍을 쉽게 할 수 있다.

데이터베이스 프로그래밍
:: Oracle, MYSQL, PostgreSQL, Sybase, Infomix 등 데이터베이스에 접근할 수 있게 해주는 도구 제공

데이터 분석
:: Pandas라는 모듈을 사용하여 데이터 분석을 쉽고 효과적으로 할 수 있다.

GUI 프로그래밍
:: Tkinter, wxPython, PyQT, PyGTK 등을 이용하여 윈도우 창을 활용한 프로그램을 매우 간단히 개발할 수 있다.

수학, 과학 분야
:: NumPy를 이용하여 편리하게 수치, 해석, 통계 관련 기능 구현 가능
대부분 C언어로 작성되어 실행 속도도 빠르다.
또 이 NumPy를 활용한 SciPy를 이용하여 과학 분야에 많이 쓰이는 배열, 행렬, 적분, 미분 방정식 연산, 통계 등을 쉽게 할 수 있다.

교육 분야
:: 문법이 간단하여 소프트웨어 개발을 처음하는 사람들에게 가르치기 쉽고 배우기 쉽다.

사물 인터넷(ioT)
:: 사물 인터넷을 자체적으로 개발하기 위한 주요 기기인 라즈베리 파이를 제어하는 도구로 사용


profile
안냥하세요

0개의 댓글