본문 바로가기
Dev Language/Python

Python 정리 10/14까지 내용

by 미티치 2016. 9. 8.

개발 언어 Python 개요



파이썬(Python)은 우리나라에서는 아직까진 대중적으로 사용되고 있진 않지만 외국에서는 교육 목적뿐만 아니라 실무에서도 많이 사용되고 있는 '인터프리터' 언어이다. C나 Java 처럼 많이는 사용되지 않을 것 같다고 생각했지만 예상 외로 구글, 드롭박스(Dropbox), 장고 프레임워크(Django Framework) 도 파이썬으로 만들어졌다고 한다. 


파이썬은 다른언어들보다 배우기 쉽다고들 하지만, 이제 파이썬을 시작하는 단계이기 때문에 그 이유에 대해 정확하게는 모르겠다. (당연히 C보다는 쉽겠지만) 파이썬이 쉬운 이유는 공동 작업과 유지 보수가 매우 쉽고 편하기 때문이라고 하는데, 자세한 특징은 다음과 같다.



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

 

2. 파이썬은 오픈소스이지만 강력하다.

 시스템 프로그래밍이나 하드웨어 제어와 같은 매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않지만, 다른 언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있다. 파이썬과 C는 찰떡궁합이라는 말이 있다. 즉, 프로그램의 전반적인 뼈대는 파이썬으로 만들고, 빠른 실행 속도를 필요로 하는 부분은 C로 만들어서 파이썬 프로그램 안에 포함시키는 것이다. 사실 파이썬 라이브러리 중에는 순수 파이썬만으로 제작된 것도 많지만 C로 만들어진 것도 많다. ( C로 만들어진 것들은 대부분 속도가 빠르다 )


3. 파이썬은 간결하다

 파이썬은 다른 사람이 자겁한 소스 코드도 한눈에 들어와 이해하기 쉽기 때문에 공동 작업과 유지 보수가 아주 쉽고 빠르다.

파이썬 문법에서 신기했던 점은, 파이썬 프로그램은 줄을 맞추지 않으면 실행이 되지 않는다. 그리고 한 줄마다 ;(세미콜론)을 찍던 다른 언어들과는 다르게 아무것도 찍지 않는다. 하지만 중괄호{} 대신에 :를 찍는다


4. 파이썬은 프로그래밍을 즐기게 해준다.


5. 파이썬은 개발 속도가 빠르다.



위에서 말했듯 파이썬은 여러가지로 장점이 많은 언어인 듯 하다.  하지만 파이썬으로는 시스템과 밀접한 프로그래밍이나 모바일 프로그래밍은 할 수 없다. 대신 시스템 유틸리티를 제작하거나, GUI 프로그래밍, C/C++과 결합, 웹 프로그래밍, 수치 연산 프로그래밍, 데이터베이스 프로그래밍 등이 가능하다.


출처 https://wikidocs.net/7



여기까진 파이썬이라는 언어에 대해 아주아주 간략하게 설명을 마쳤다. 추가적인 참고사항은 출처에 링크되어있는 주소로 들어가면 더 많은 정보들이 있다.



♣ Python 2.7.11버전을 설치했는데, IDLE(Python GUI)와 Python (command line)과의 차이점이 무엇인가?



파이썬에는 두 가지의 모드가 있다. Interactive Mode와 Script Mode이다. 


-  Interactive Mode는 IDLE를 키면 뜨는 Python Shell 창에 명령문을 직접 작성해서 바로 명령의 수행 결과 값이 창에 나타나는 것을 의미한다. 인터프리터 방식이라고도 한다.


- Script Mode 는 Python Shell > File > New File 을 클릭해서 나타나는 새로운 창 (메모장같이 보이는) 에서 모든 명령을 작성한 뒤에 문서로 만들어 한번에 실행하게 하는 방식을 말한다. 이클립스에서 Java로 프로그램을 작성해서 컴파일 하는 방식과 같다. 컴파일 방식이라고도 한다.


이 Script Mode에서 한글을 출력하려면 아래 문장을 소스 파일의 첫줄에 삽입해야한다.

# -*- coding: cp949 -*-

      위의 문장을 삽입하지 않고 한글을 출력하려고 하니까 아예 저장이 안된다. 파이썬은 문법이 틀리면 파일이 저장이 안되는 것 같다.








Python 자료형 



Python은 자료형이 정수, 실수, 논리형(True, False) , 문자열, 리스트, 튜플, Set, Dictionary, Object가 있다.



  1. 숫자형

    파이썬에서도 다른 언어들과 마찬가지로 정수+실수 연산은 실수로 결과 값이 출력된다. 소수점을 사용하면 실수, 사용하지 않으면 정수이다.

    1
    2
    3
    4
    >>> first = 3
    >>> second = 5
    >>> print first+second
    8
    cs


    하지만 파이썬에서는 이 자료형들을 명시하지 않는다. 다음과 같이 앞에 형에 대해 명시하지 않는다. 생각해보니 위에서 처럼 print를 하지 않아도 인터렉티브 모드에서는 그냥 변수만 치면 변수에 배정되어있는 값이 출력된다.

    1
    2
    3
    4
    >>> a = 3
    >>> b = 5
    >>> a+b
    8
    cs


    자료형 정보를 확인하는 명령은 type() 이다. 예를들어 파이썬 IDLE 프롬프트에 type(123)이라고 치면, <type 'int'>라는 결과 값을 볼 수 있을 것이다.




  2.  문자열
    문자열은 다들 알다시피 따옴표로 묶여있는 텍스트이다. 따옴표로 묶여있지 않으면 데이터가 아니라 데이터가 배정된 변수 또는 내장 명령으로 인식하기 때문이다. 파이썬에서는 크게 세가지로 따옴표의 종류가 분류된다

    1. 작은 따옴표 'hello'
        : 한 줄에 작성되는 문자열 
              >>> msg = 'I am a girl'
              >>> print msg

    2. 큰 따옴표 "hello"

    3. 삼중 따옴표 '''hello''' 또는 """hello"""
      : 여러 줄에 걸쳐 문자열을 사용할 수 있다.


    => C나 Java에서는 ''와 ""를 구분해서 사용하는데, 파이썬에서는 구분하지 않으면서 이렇게 나누어 쓰는 이유는 !!!

          ''와 ""는 둘 다 문자열로 인식하지만, 파이썬에는 escape sequence가 없기 때문에 이러한 효과를 주기 위해서 구분한다.


  3. 리스트
    list = [ 0,1,2,3,4 ] 같은 형태. 

    list.append(5)를 하면 => list = [ 0,1,2,3,4,5 ]
    list.append([5])를 하면 => list = [ 0,1,2,3,4,[5] ]

    listA = [ 0,1,3,[2,4] ] 일 때, listA[3][1] = 4

  4. 튜플
    list는 자유롭게 element를 추가, 삭제할 수 있지만 튜플은 한번 element를 추가, 삭제할 수 없다. ( )를 이용해서 선언





range() 함수 


리스트 생성해주는 range() 함수

range(5) = [ 0,1,2,3,4 ]    

: 0부터 n까지 생성


range(2,5) = [ 2,3,4 ]

: n1부터 n2-1까지 생성


range(1,10,2) = [ 1,3,5,7,9 ]

: n1부터 n2-1까지 n3 값의 차를 두고 생성

-> range(1, 5, -2) = []

-> range(10,1, -3) = [ 10, 7, 4, ]



반복문


for i in range(1, 10):

print i



str1 = raw_input()

while letter != 'q'

print str


 



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

Python 웹 크롤링  (0) 2016.10.14