Language/Python 파이썬 소개(설치/특징/버전비교/기초)
  • 728x90
    반응형

     

     

    파이썬 소개

     

    (버전비교/설치/특징/기초)


     

     

     

    파이썬(Python)이란?

    파이썬(Python)은 네덜란드 출신의 프로그래머인 귀도 반 로섬(Guido van Rossum)이 1989년에 개발한 프로그래밍 언어이다.

     

    파이썬은 문법이 어렵지 않아서 코드를 쉽게 작성하고 읽을 수 있으며, 인터프리터에서 바로 실행하여 그 결과를 빠르게 확인할 수 있다.

    또한, 다양한 라이브러리가 많이 존재하므로, 이를 활용하여 원하는 프로그램을 빠르게 개발할 수 있다.

     

    파이썬은 교육적인 목적뿐만 아니라 실무에서도 많이 사용되고 있으며, 응용 프로그램과 웹, 서버 사이드 영역까지 다양한 분야에서 활용되고 있는 전세계에서 가장 인기 있는 프로그래밍 언어 중 하나이다.

     

    이와 같은 이유로 파이썬은 프로그래밍을 처음 접하는 학생이나 일반인들에게 가장 적합한 프로그래밍 언어로 손꼽히고 있으며, 그 중요성을 인정받아 4차 산업혁명에 대비한 대한민국 2015년 개정 교육과정에 포함되어 있다.

     

     

    파이썬 점유율

    프로그래밍 경진대회와 프로그래밍 능력 테스트 플랫폼 제공으로 유명한 코드이벨(codeeval)에서는 100만 명이 넘는 자사 회원들의 사용통계를 기반으로 가장 인기 있는 프로그래밍 언어를 매년 선정하여 공개한다.

     

    다음은 2016년 코드이벨에서 공개한 통계로 파이썬이 26.7%의 점유율로 가장 인기가 높다는 것을 보여준다.

     

     

     

     

    프로그래밍(programming)

    📌 우리는 요즘 여러 컴퓨팅 시스템에 설치된 다양한 프로그램(program)을 이용하여 실생활의 다양한 문제들을 해결해 나가고 있다.

     

    예를 들어, 스마트폰에서 웹 브라우저 프로그램을 실행해서 날씨를 확인한다거나, 더 나아가 자동차에 설치된 자동 주차 프로그램을 이용하여 주차도 자동으로 해결할 수 있게 되었다.

     

    프로그래밍(programming)이란 이와 같이 특정 목적을 달성하기 위해 설계된 알고리즘(algorithm)을 프로그래밍 언어를 사용하여 구체적인 프로그램으로 작성하는 과정을 가리킨다. 간단히 프로그래밍이란 프로그램을 만드는 모든 작업이라고 볼 수 있다.

     

     

     

    프로그래밍의 순서

    📌 프로그램을 만들 때 곧바로 프로그램을 만들기 시작한다면 설계도도 없이 건물을 짓는 것과 마찬가지로 매우 어리석은 행동이 될 것이다.

     

    만들고자 하는 프로그램이 갖추어야 할 기능들은 어떤 것들이 있고, 또 이러한 기능들을 어떤 방식으로 구현할 것인지를 미리 생각해야만 효율적이고 좋은 프로그램을 만들 수 있다.

     

    1. 문제인식
    2. 프로그램 설계
    3. 프로그램 구현
    4. 테스트와 디버깅
    5. 프로그램 유지보수

     

     

     

    문제 인식과 프로그램 설계 단계가 프로그램의 설계도를 만드는 작업이라면, 프로그램 구현 단계는 설계도에 따라 직접 코딩(coding)을 수행하는 과정이라고 할 수 있다. 이후 테스트와 디버깅 단계를 통해 작성한 프로그램의 오류를 찾아 수정하여 배포할 수 있는 수준의 프로그램을 만들고, 이를 사용하면서 추가해야 되거나 수정해야 할 사항들이 있으면 유지보수하게 된다.

     

     

    컴퓨팅 사고력(Computational Thinking, CT)

    📌 컴퓨팅 사고력(CT)이란 컴퓨터가 문제를 해결하는 방식처럼 복잡한 문제를 단순화하여 이를 논리적이고 효율적으로 해결하는 능력을 의미한다. 컴퓨팅 사고력을 키우면 창의력, 사고력과 함께 문제 해결 능력까지 함께 배양할 수 있기 때문에  많은 관심을 받고 있다.

     

    이러한 컴퓨팅 사고력을 키우는 가장 좋은 방법 중 하나가 바로 프로그래밍이며, 코딩(coding)인 것이다.

     

    프로그래밍을 통해 규모가 큰 문제를 작은 문제들로 쪼개거나 문제를 구조화하고 추상화하는 방법을 터득하여 이를 다른 분야의 일반적인 문제에까지 적용할 수 있는 능력을 가지게 된다.

     

     

     

    파이썬 2.X 버전과 3.X 버전의 차이점

    📌 파이썬은 공식적으로 2.X 버전과 3.X 버전의 두가지 버전으로 나누어 관리되고 있다.

     

    파이썬 2.X 버전과 3.X 버전의 대표적인 차이점은 다음과 같다.

     

    1. 3.X 버전에서는 모든 변수가 객체(object)로 처리됨.
    2. 2.X 버전에서는 나눗셈의 결과가 int형으로 반환되었으나, 3.X버전에서는 float형으로 반환됨.
    3. 3.X 버전에서는 print() 함수를 사용할 때 소괄호(())를 반드시 사용하도록 변경됨.
    4. 3.X 버전에서는 모든 문자열을 유니코드(unicode)로 인식함.

    3.X 버전에서는 위와 같이 2.X 버전에 비해 많은 변화가 있지만, 이처럼 두 버전을 각각 유지하는 가장 큰 이유는 바로 라이브러리의 호환성 때문이다.

     

    3.X 버전이 나온 초기에 그때까지 잘 사용해 온 2.X 버전을 기준으로 개발된 다양한 파이썬 라이브러리들이 3.X 버전과는 호환되지 않았다.

    따라서 파이썬 라이브러리를 사용하지 못하는 경우가 많이 발생하였으므로, 많은 파이썬 개발자들이 최신버전인 3.X 버전이 아닌 2.X 버전을 고집하게 된다.

     

    하지만 현재는 많이 사용되는 대부분의 파이썬 라이브러리들이 3.X 버전에서도 동작되도록 업데이트되었기 때문에 반드시 2.X 버전을 사용해야만 하는 이유가 없어졌다.

     

    💡 Tip ? 파이썬 3.X 버전은 2.X 버전으로의 하위 호환성(backward compatibility)을 지원하지 않는다.
    즉, 파이썬 2.X 버전으로 작성된 소스 코드를 수정 없이 그대로 3.X 버전에서 사용하면 문제가 발생할 가능성이 매우 높다.

     

     

     

    파이썬 설치하기

    파이썬 설치는 아래의 링크를 참고하여 설치하면 된다.

     

     

    python 설치 및 실행

    파이썬 설치 하기 📌 windows7 에서의 python 설치 및 실행 방법에 대해 설명한다. python 공식 홈페이지 Welcome to Python.org The official home of the Python Programming Language www.python.org 2015/12/02 기준으로 최신버

    mystyle1057.tistory.com

     

     

     

    파이썬의 특징

    📌 파이썬을 공부하다보면 파이써닉(pythonic)이라는 독특한 개념의 단어를 접할 수 있다. 파이써닉(pythonic)이란 '파이썬다운'이라는 의미로 파이썬 특유의 문법을 잘 활용하여 효율적이고도 간결하게 코드를 작성하는 것을 가리킨다.

     

    이처럼 파이썬은 다른 프로그래밍 언어와는 약간 구별되는 특징들을 가지고 있으며, 그 중 대표적인 특징은 다음과 같다.

     

    1. 파이썬은 인터프리터 언어이다.
    2. 파이썬은 문법이 쉽고 간결하다.
    3. 파이썬은 생산성이 높아 개발 속도가 빠르다.

     

     

    인터프리터(interpreter) 언어

    📌 컴파일러(compiler)를 사용하는 C언어나 자바와는 달리 파이썬은 인터프리터에 의해 실행되는 스크립트 언어이다.

     

    인터프리터(interpreter)란 소스 코드를 처음부터 한 라인씩 차례대로 해석하며 실행하는 프로그램이다.

    인터프리터는 실행할 때마다 코드를 한 라인씩 바로 기계어로 변환하기 때문에 실행 속도가 컴파일러 언어에 비해 다소 느리지만, 코드가 완전히 작성되지 않아도 작성된 부분까지만을 테스트할 수 있다. 또한, 대화형 기능을 통해 사용자가 곧바로 코드를 수정할 수 있다.

     

     

    쉽고 간결한 문법

    📌 프로그래밍에서 블록(block)이란 일종의 작업공간을 의미하며, 서로 다른 블록에 작성된 코드는 서로에게 영향을 주지 않는다.

     

    C언어나 자바를 비롯한 대부분의 프로그래밍 언어에서는 이러한 블록(block)을 중괄호({})를 사용하여 구분하지만, 파이썬에서는 소스 코드의 들여쓰기로 구분한다. 이는 다른 언어들과 구부노디는 파이썬만이 가지는 독특한 특징 중 하나로, 파이썬에서는 들여쓰기가 달라지면 다른 블록으로 인식하는 것이다.

     

    이와 같은 방식은 같은 동작을 수행하는 코드가 좀 더 정렬된 한 가지 모습으로 보이므로, 다른 사람이 작성한 코드를 좀 더 쉽게 읽을 수 있다. 또한, 파이썬의 문법은 코드를 매우 쉽고 간결하게 작성할 수 있도록 되어 있어 배우기도 쉽고 활용하기에도 쉬운 언어이다.

     

    💡 Tip : C언어나 자바와 같은 경우에는 중괄호({})를 사용하여 블록을 구분하기 때문에 중괄호의 위치에 따라 다양한 모양의 코드를 작성할 수 있다. 따라서 같은 동작을 수행하는 코드가 여러 가지 모습으로 표현될 수 있어 코드를 읽을 때 헷갈릴 수 있다.

     

     

     

    높은 생산성과 빠른 개발 속도

    📌 파이썬은 다양한 자료형을 제공해 줄 뿐만 아니라 다른 사람이 제작한 다양한 라이브러리를 사용할 수 있기 때문에 매우 빠르게 원하는 프로그램을 작성 할 수 있다.

     

    또한, 파이썬은 접착(glue)언어라고도 불리며 다른 프로그래밍 언어와 쉽게 결합하여 사용할 수 있는 장점을 가지고 있다. C언어나 C++로 작성된 프로그램을 파이썬에서 사용할 수 있으며, 반대로 파이썬으로 만든 프로그램을 C언어나 C++에서도 쉽게 사용할 수 있다. 따라서 빠른 속도가 중요한 입출력이나 하드웨어 제어와 관련된 부분은 C언어로 작성하고 나머지 부분은 파이썬으로 작성하는 등 파이썬을 사용하면 생산성을 크게 높일 수 있다.

     

    💡 Tip ? "Life is too short, You need Python"
    "인생은 너무나도 짧다. 그래서 파이썬이 필요하다."
    파이썬을 사용하는 개발자들 사이에 유행어처럼 번진 이 한마디가 파이썬의 빠른 개발 속도를 잘 표현하고 있다.

     

     

     

    표준 입출력 함수

    📌 대부분의 프로그램은 사용자의 입력을 받아 동작을 수행한 후 그 결과를 다시 사용자에게 출력하는 형태를 가지고 있다. 따라서 프로그램을 만들 때 입출력 작업은 매우 기본적인 동작이 되며, 대부분의 프로그래밍 언어에서는 표준 입출력 함수라는 것을 통해 이러한 기능을 제공한다.

     

    파이썬에서도 사용자에게 출력 내용을 보여주기 위한 표준 출력 함수로 print() 함수를 제공하며, 사용자의 입력을 받기 위한 표준 입력 함수로 input() 함수를 제공하고 있다.

     

    💡 Tip ? 함수(function)란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합으로 정의할 수 있다. 함수를 사용하면 반복적인 프로그래밍을 피할 수 있으며, 모듈화로 인해 전체적인 코드의 가독성이 좋아진다.

     

     

     

    print() 함수

    📌 파이썬에서는 데이터를 화면에 출력하고 싶을 때 표준 출력 함수인 print() 함수를 사용한다.

     

    다음 예제는 다양한 타입의 데이터를 print() 함수를 사용하여 출력하는 예제이다.

     

    🔔) 예제

    print(38)
    print("문자열")
    print([1, 2, 3])

     

    실행 결과

    38

    문자열

    [1, 2, 3]

     

    이와 같이 print() 함수는 숫자나 문자열뿐만 아니라 배열과 같은 데이터까지도 출력할 수 있다.

     

    🔔 예제)

    print(1+2)
    print("파"+"이"+"썬")
    print("파""이""썬")
    print("파","이","썬")

     

    3

    파이썬

    파이썬

    파 이 썬

     

    파이썬에서는 1번과 2번 라인의 print() 함수처럼 더하기(+) 기호를 사용하여 여러 데이터를 한 번에 출력할 수 있다. 그리고 문자열에 한해 더하기 기호를 생략해도 결과를 출력해 주며, 쉼표(,)를 사용하면 띄어쓰기(white space)를 하나씩 삽입하여 출력한다.

     

     

     

    input() 함수

    📌 파이썬에서는 프로그램 실행 도중 사용자의 입력을 전달받아 그 값을 프로그램에서 사용하고 싶을 때 input() 함수를 사용할 수 있다.

     

    다음 예제는 사용자가 입력한 데이터를 곧바로 출력하는 예제이다.

     

    🔔 예제)

    var = input()
    print(var)

     

    하지만 위의 예제와 같은 경우에는 사용자 입장에서 현재 프로그램이 자신의 입력을 받기 위해 정지해 있는 건지 아니면 다른 이유로 정지된 건지를 명확히 알 수 없다.

     

    따라서 다음 예제와 같이 입력 안내 문자열을 input() 함수에 인수로 전달하여 사용자에게 입력에 관한 정보나 입력을 해달라는 요청 메시지를 전달하는 것이 좋다.

     

    🔔 예제)

    var = input("출력할 문자열을 입력해 주세요 :")
    print(var)

     

     

     

    주석(comments)

    📌 주석(comments)이란 해당 프로그램 소스 코드를 이해하는데 도움을 설명을 적거나 개발자가 디버깅을 위해 작성한 코드를 가리킨다. 이러한 주석은 파이썬 인터프리터에 의해 해석되지 않으므로 실행되지 않는다.

     

    파이썬에서는 해시(#) 기호를 사용하여 주석을 작성할 수 있다.

     

    🔔 예제)

    # 작성자   : Dexter
    # 수정날짜 : 2018.11.16
    print(38)			# 숫자를 출력하는 코드
    print("문자열")		# 문자열을 출력하는 코드
    print([1, 2, 3])	# 배열을 출력하는 코드

     

    실행 결과

    38

    문자열

    [1, 2, 3]

     

    위의 실행결과를 살펴보면 주석으로 처리된 문자열은 프로그램에 어떠한 영향도 미치지 않음을 확인할 수 있다.

     

    위 예제의 1~2번 라인의 주석처럼 여러 라인에 걸쳐 작성해야 하는 주석은 다음과 같이 세 개의 큰따옴표(""")나 작은따옴표(''')를 사용하여 더욱 손쉽게 작성할 수 있다.

     

    🔔 예제)

    """
    작성자   : Dexter
    수정날짜 : 2018.11.16
    """
    print(38)			# 숫자를 출력하는 코드
    print("문자열")		# 문자열을 출력하는 코드
    print([1, 2, 3])	# 배열을 출력하는 코드

     

    실행 결과

    38

    문자열

    [1, 2, 3]

     

     

     

    728x90
    반응형

    'Language > Python' 카테고리의 다른 글

    [Python] 변수와 데이터 타입  (0) 2018.11.20
    [Python] 카운터(Counter) 모듈  (0) 2018.11.20
    [Python] Django Project 환경 구축(feat.venv)  (0) 2018.07.11
    Python web crawler  (0) 2018.07.05
    Python으로 엑셀 사용(feat.openpyxl)  (0) 2018.06.29
상단으로