C급 개발자와 함께하는 파이썬 – 01. 파이선 시작하기 #1


0. 들어가면서



파이썬은 간단하면서도 강력한 프로그래밍 언어입니다.  파이썬은 초보자 숙련자를 가리지 않고 유용한 언어입니다. 초보자에게는 쉽게 시작할수 있으며 숙련장에게는 강력한 기능을 제공하고 있기 때문입니다.



파이썬은 우리가 우리가 사용하는 윈도, 맥, 리눅스 다양한 개발환경을 제공하고 있습니다. 여러분은 어떤 시스템을 사용 하든지 파이썬을 사용할 준비가 되어있는 것입니다.



이 글은 여러분이 파이썬이라는 아름다운 프로그래밍 언어를 배울수 있도록 돕고, 여러분이 하고자 하는 일을 빠르고 쉽게 해결하는 방법을 보여드리는 것을 목적으로 작성되었습니다.


또한 기본 뼈대는 A Byte of Python을 기본 뼈대로 하여 작성하였음을 알려드립니다.



0.1 이 책은 누가 읽으면 좋을까?



이 책은 파이썬의 가이드 혹은 튜토리얼의 역할을 하도록 작성되었습니다. 프로그래밍에 대해 아무런 지식이 없는 ‘완전 초보자’들을 주 독자로 설정하였습니다. 파이썬을 배우려는 열정만 있다면 모두가 유용한 프로그램을 만들어내는 프로그래머가 될수 있는것입니다.



본인이 개발자를 꿈꾸지 않더라도 간단한 프로그래밍으로 자신이 하는일에 도움을 줄수 있는 프로그램을 개발하여 생산성을 극대화 하도록 하는 것입니다.



이 책의 목표는 컴퓨터로 텍스트 문서를 저장하는 것밖에 모르는 사람도 이 책을 통해 파이썬을 배울 수 있도록 하는 것입니다. 물론 여러분이 이전에 프로그래밍 경험이 있다고 하더라도 이 책을 통해 파이썬을 익힐 수 있을 것입니다.



만약 여러분이 전에 프로그래밍을 해 본 경험이 있다면, 아마도 여러분은 여러분이 가장 좋아하는언어와 파이썬이 어떻게 다른지에 대해 관심이 있을 것입니다.



저는 이 책에서 다른 언어와 파이썬과의 많은 차이점을 강조해 두었습니다. 하지만 주의하세요, 얼마 안 지나서 여러분이 가장 좋아하는 언어는 파이썬이 될 것입니다! 저도 그랬으니까요.



이제 파이썬을 시작해 보도록 하겠습니다.






1. 파이썬 시작하기



1.1 파이썬이란?



파이썬이란 정의를 위키백과에 보면 다음과 같이 정의되어있습니다.



“파이썬은 1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 발표한 고급프로그래밍 언어로, 플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed)대화형 언어이다.



파이썬이라는 이름은 귀도가 좋아하는 코미디 <Monty Python’s Flying Circus>에서 따온 것이다.



파이썬은 무료이며 누구나 다운받아 사용 가능하다.”



위의 설명대로 플롯폼 독립적이며 인터프리터식, 객체지향적 그리고 동적타이핑 대화형 언어입니다. 하나하나 살펴가면서 배워보도록 하겠습니다.



아래 표는 2017년 7월 TIOBE 에서 제공하는 프로그래밍 언어 순위입니다.


1위가 자바이며 파이썬은 5위에 랭크되어 상당히 인기있는 프로그래밍 언어입니다.



특히나 최근 머신러닝 및 인공지능의 인기가 높아지면서 인기가 점점더 올라가는 추세입니다.





[출처] https://www.tiobe.com/tiobe-index/




아래 그래프는 프로그래밍 추이를 나타낸 것입니다.



[출처] https://www.tiobe.com/tiobe-index/




파이썬의 장점



  1. 운영체제를 가리지 않습니다.


  2. 다양한 데이터베이스에 접속해서 사용이 가능합니다.


  3. 기본으로 내장되어있는 라이브러리로 대부분의 기능처리가 가능합니다.(강력한 라이브러리 제공)


  4. 매력적인 파이썬 커뮤니티


  5. 읽고 사용하기가 쉽습니다.



    1. 파이썬 개발자이자 PyPL 언어 인덱스를 운영하는 블로거인 피에르 카보넬은 “파이썬 프로그램의 주요 특성은 읽기 쉽다는 데 있다.” 고 말했다.


  6. 사물인터넷 기회



    1. 파이썬은 라즈베리파이가 기반으로 하고 있는 만큼 사물인터넷에서도 인기를 얻고 있다. 라즈베리파이의 설명서에서는 파이썬 언어를 “사용이 쉽고(읽고 쓰기 쉬운)환상적이고 강력한 프로그래밍 언어로, 라즈베리파이와 더불어 사용자의 프로젝트를 실제 세계와 연결해준다.”고 하였습니다.


  7. 비동기식 코딩



    1. 디벨은 “파이썬은 쓰레딩 대신 단일 이벤트 루프를 사용해 소수 유닛에서 작업하는 비동기식 코드를 작성하는 데 뛰어나다”고 하였습니다.


  8. 자바보다 뛰어난 멀티패러다임 접근방식



    1. 파이썬 프로그래밍 접근방식은 자바의 프로그래밍 접근방식만큼 제한적이지 않습니다. 간단한 문자열을 예를 들어 “Hello Python!”같은 문자열을 출력하기 위해서는 파이썬에서는 print(“Hello Python!”)과 같이 한줄이면 끝나지만. 자바는 한줄로 작성할수 없습니다.


    2. 파이썬은 자바와 달리 멀티패러다임이고 객체지향을 지원하며, 절차적이고 함수형 프로그래밍 스타일입니다.


  9. 파이썬은 직관적인 언어이다.



    1. 파이썬은 프로그래밍을 모르더라도 소스코드를 직관적으로 이해할수 있습니다.


  10. 파이썬은 문법이 쉬워 빠르게 배울수 있다.



    1. 파이썬은 쉽게 배워 다양하게 응용을 할수 있습니다.


  11. 파이썬은 무료이다 게다가 강력하다



    1. 특히 요즘은 머신러닝(빅데이터) 분야에서 두각을 나타내고 있습니다.


  12. 파이썬은 간결하다.



    1. 파이썬은 간결한 철학이 문법에 적용되어 파이썬 프로그래밍을 하는 사람들은 소스코드를 잘 정리합니다. 이러한 소스코드는 공동작업과 유지보수가 아주 쉽고 편하게 되어있습니다.


  13. 파이썬은 간단하고 익히기 쉬운 프로그램 언어입니다.


  14. 파이썬은 오픈소스여서 자유롭게 사용이 가능합니다.



파이썬의 단점



  1. 속도



    1. 파이썬은 인터프리터 언어라서 종종 컴파일 언어보다 느리다.


    2. 하지만 속도가 중요시되는곳에서는 C또는 자바 라이브러리를 이용하여 프로그래밍이 가능하다.


  2. 모바일 컴퓨팅과 브라우저 부재



    1. 파이썬은 많은 서버와 데스크톱 플랫폼에 존재하지만, 모바일 컴퓨팅에는 취약하다는 점에서 파이선으로 개발된 스마트폰 애플리케이션이 거의 없다.


    2. 웹브라우저도 보안이 어렵다는 이유로 브라우저는 개발이 어렵다.


  3. 설계제약



    1. 인터프리터 언어를 작성하는데 상당한 여백이 필요


    2. 파이썬 프로그램의 구조는 일관적이어야 하기 때문에 다른 언어에서는 괄호나 기타 식별자를 사용하는데 있어서 더 많은 자유가 주어지지만, 파이썬에서는 들여쓰기가 대단히 중요하다.


댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.