IT is Smart

2. 파이썬의 특징, Features of Python (1/2) 본문

Programming/Python for Beginners

2. 파이썬의 특징, Features of Python (1/2)

달인최선 2017. 11. 5. 06:32
반응형

1. 파이썬 소개, Introduction to Python


우리나라에서는 IT업계에서 Java를 사용하는 비율이 압도적으로 많기 때문에 아직 파이썬이 많이 알려져 있지 않습니다만, 해외에서는 오래 전부터 뜨거운 관심과 함께 실제 비즈니스에 활용되는 사례들이 늘어나면서 최근에는 국내에서도 주목을 받기 시작했습니다.


우리나라에서는 프로그래밍을 처음 배우려고 하면 C로 시작해서 C++이나 Java로 넘어가는 것이 루틴처럼 인식되고 있지만, 해외에서는 파이썬으로 프로그래밍의 개념을 처음 익히고 실제 업무에서도 파이썬을 많이 사용한다고 합니다. 이는 파이썬이 배우기 쉬우면서도 다양한 분야에서 활용할 수 있을 만큼 강력한 기능들을 가지고 있기 때문입니다. 파이썬의 장점과 단점을 좀더 상세히 이해함으로써 파이썬을 어떻게 활용하는 것이 좋은지 확인해 보겠습니다.

 


파이썬의 문법은 간결하면서도 명확하다


파이썬은 꼭 필요한 기능만 제공하도록 만들어졌습니다. 문법 역시 의도적으로 최대한 간단하게 쓰도록 했고 심지어 들여쓰기도 개발자의 스타일을 인정하지 않고 꼭 지켜야 하는 문법으로 정해져 있습니다. 이러한 특징으로 동일한 일을 처리하는 프로그램을 다른 개발자가 만들더라도 거의 모두 비슷한 프로그램 코드를 만들게 해줍니다. 이 점은 특히 언어 자체보다는 해결해야 하는 문제에 집중할 수 있게 하자는 파이썬의 철학을 잘 설명해 줍니다.

 


파이썬은 배우기 쉽다


앞에서 설명한 간결한 문법은 언어를 익히는 시간을 줄여줍니다. 또 파이썬의 코드는 다른 사람에게 이야기하는 것 같기 때문에 잘 쓰여진 파이썬 프로그램일 읽는 것은 마치 좀 딱딱하게 쓰여진 영어 문장을 읽는 것 같다는 이야기도 합니다. 이런 특징은 파이썬을 배우지 않은 사람과 이야기할 때도 충분히 설명이 가능해 IT전문가뿐만 아니라 일반사용자들을 상대해야 하는 분야에도 널리 확산될 수 있었습니다. 프로그래밍 경험이 풍부한 개발자의 경우는 하루 만에 파이썬 익히고 프로그램을 작성할 수 있었다는 사례가 있습니다. 프로그래밍 언어를 배워 본 경험만 있는 사람의 경우에도 1주일이면 파이썬의 기능을 모두 배우고 사용할 수 있을 정도입니다.

 


파이썬은 무료이면서도 다양한 플랫폼을 지원한다


C언어도 여러 플랫폼을 지원하지만 실제로 각 플랫폼에 사용되는 C는 각기 다른 버전이라고 볼 수 있습니다. 심지어 IBM이나 HP와 같은 벤더의 Hardware에 따라 다른 C를 사용해야 하고 프로그램 코드도 다르게 사용해야 하는 경우도 있습니다. C는 무료가 아닙니다.


이에 비해 파이썬은 Windows, Macintosh, Linux, Unix까지 모두 지원을 하고 같은 버전의 파이썬으로 작성된 코드는 모든 플랫폼에 그대로 사용될 수 있습니다. 특히 파이썬은 초창기부터 오픈소스 공동체의 노력을 통해 지속적으로 개선되고 있어 특정한 플랫폼에만 사용되는 일부 기능만 사용하지 않으면 모든 플랫폼에서 수정없이 동작하는 강력한 이식성을 가지고 있습니다.

 


파이썬은 혁신적으로 강력하다


파이썬은 잘 설계된 내장(Built-in) 라이브러리와 표준 라이브러리가 통합 환경과 함께 파이썬 배포판으로 제공이 됩니다. 자주 사용하는 프로그램 로직(Logic) 또는 기능을 매번 다시 코딩하지 않고 한번 만들어서 필요할 때마다 재사용할 수 있도록 만들어 놓은 코드를 라이브러리(Library)라고 합니다.


내장 라이브러리와 표준 라이브러리는 모두 파이썬 배포판에 포함되어 있기 때문에 사용자가 언제든 사용할 수 있다는 점에서는 동일합니다. 내장 라이브러리는 import할 필요없이 바로 사용할 수 있지만 내장 라이브러리가 아닌 라이브러리는 import를 사용해서 명시적으로 로드해야 사용할 수 있다는 점이 차이입니다.


파이썬은 이렇게 매우 빈번하게 사용하는 기능들을 빌트인 방식으로 바로 사용할 수 있게 했고 그 외에도 많은 유용한 기능들을 기본적으로 제공하여 사용자는 필요한 기능을 찾아서 바로 사용하면 될 만큼 혁신적입니다. 뿐만 아니라 좀더 복잡하고 실용적인 라이브러리들이 수많은 서드파티(3rd Party), 오픈소스 커뮤니티와 연구기관 등에서 제공되고 있습니다.


이렇게 지원되는 파이썬 라이브러리는 다른 프로그래밍 언어들과 달리 광범위한 분야를 지원하고 있습니다. 웹 서비스를 만들고 싶다면 Python Web Framework를 찾아보세요. Django, Flask, CherryPy, Pyramid 등을 사용할 수 있습니다. 머신러닝을 구현하고 싶다면 scikit-learn이나 Tensorflow를 사용할 수 있습니다. OpenCV를 사용해 얼굴인식과 같은 비전 인식 기능을 만들 수도 있습니다. PyGame를 사용하면 게임도 만들 수 있습니다. NumPy를 사용하면 이공계 연구분야에서 필요한 대규모 수학 연산 작업도 편리하게 할 수 있습니다. Scipy, Pandas와 같은 라이브러리를 추가하면 전문적인 수치해석, 통계 작업을 더욱 수월하게 해줍니다. 또 라즈베리파이의 프로그래밍 언어로 센서와 연동한 IoT 구현이나 기계장치와 연동한 로보틱스 구현을 가능하게 해줍니다.


이런 다양하고도 풍부한 라이브러리의 지원은 상대적으로 적을 라인의 코드만으로도 빠르게 프로그램일 만들 수 있다는 장점이 됩니다.


파이썬을 배우면 다른 언어로 프로그래밍하는 것이 지루해질 수도 있습니다. 조심하세요~

 

물론 파이썬이 장점만 있는 것은 아닙니다.


2. 파이썬의 특징, Features of Python (1/2)

2. 파이썬의 특징, Features of Python (2/2)

3. 파이썬 설치하기, Python Setup

3.1 파이썬 버전 선택하기, Select Python version

3.2 OS Bit 버전 선택하기, Select OS Bit

3.3 설치파일 형태 선택하기, Select Setup File

3.4 설치하기, Setup (1/2)

3.4 설치하기, Setup (2/2)

4.1 파이썬 Interactive Shell 사용하기 (1/3)

4.1 파이썬 Interactive Shell 사용하기 (2/3)

4.1 파이썬 Interactive Shell 사용하기 (3/3)

4.2 파이썬 File Editor 사용하기

4.2 파이썬 File Editor 사용하기-주석처리

4.2 파이썬 File Editor 사용하기-출력하기

4.2 파이썬 File Editor 사용하기-입력받기

4.2 파이썬 File Editor 사용하기-입력값 출력하기

4.2 파이썬 File Editor 사용하기-str(), int(), float() 함수 사용하기

4.3 파이썬 프로그램 만들어보기

4.3 파이썬 프로그램 만들어보기-if문

4.3 파이썬 프로그램 만들어보기-while문

4.3 파이썬 프로그램 만들어보기-for문

4.3 파이썬 프로그램 만들어보기-continue & break문

4.3 파이썬 프로그램 만들어보기-try~except/finally문

4.4 파이썬 재사용할 수 있는 프로그램 만들기

4.4 파이썬 재사용할 수 있는 프로그램 만들기-함수(Function)

4.4 파이썬 재사용할 수 있는 프로그램 만들기-클래스(Class)

4.5 파이썬 모듈 사용하기-모듈(Modules)

4.5 파이썬 모듈 사용하기-pip사용

4.6 파이썬 직접 모듈 만들기

5.1 파이썬으로 파일 다루기-입출력 처리

5.2 파이썬으로 파일 다루기-파일 열기와 닫기

5.3 파이썬으로 파일 다루기-파일 읽기

5.4 파이썬으로 파일 다루기-파일 쓰기

5.5 파이썬으로 파일 다루기-파일 닫기

5.6 파이썬 파일럿 프로젝트 - 심플 텍스트 분석기 제작

6.1 파이썬 개발도구 PyCharm 사용하기

6.2 파이썬 개발도구 PyCharm 설치하기

6.3 파이썬 개발도구 PyCharm Project 만들기



반응형