본문 바로가기

Python

Python 기초

http://www.python.org 에서 파이썬 다운받고 설치.

[ 환경 변수 설정 ]
PYTHON : 파이썬 설치된 경로 지정
PYTHONPATH : INCLUDE 할때 나만의 라이브러리 또는 특별히 설치된 소프트패키지 라이브러리 지정
PYTHONSTARTUP : 대화형 인터프리터가 실행될 때 같이 초기화(처음에 실행되는 스크립트) 지정


>>> print 'Hello' // 'Hello' 문자열 출력
결과 ) Hello

>>> print 'Hello' * 10 // 'Hello' 문자열 10번 출력
결과 ) HelloHelloHelloHelloHelloHelloHelloHelloHelloHello

>>> s = "spam and ham"
>>> s[0] //첫글자 반환
's'
>>> s[1]
'p'
>>> s[-1]
'm'
>>> s[-2]
'a'
>>> s[1:4] //2번째 글자부터 5번째 글자까지 반환
'pam'
>>> len(s)
12

 

/* 실행하면 정사각형이 출력 */
>>> from turtle import *
>>> reset() //그림판 같은 프로그램 창이 뜬다.
>>> forward(50) // 앞으로 50 간다.
>>> right(90) // 오른쪽으로 90도 돌린다.
>>> forward(50) // 앞으로 50 간다.
>>> right(90) // 오른쪽으로 90도 돌린다.
>>> forward(50) // 앞으로 50 간다.
>>> right(90) // 오른쪽으로 90도 돌린다.
>>> forward(50) // 앞으로 50 간다.


/* 반복문으로 사각형을 출력 */
>>> for x in range(4):
 forward(50)
 left(90)


/* 함수 정의 */
>>> def square():
 for x in range(4):
  forward(50)
  right(90)

>>> reset() // 그림 초기화
>>> square() // 함수 실행


/* 함수에 파라미터값 넘기기 */
>>> def square(size):
 for x in range(4):
  forward(size)
  right(90)

>>> square(100) // 가로, 세로 100 크기의 정사각형 출력


/* 달력 스크립트 실행 */
>>> import calendar
>>> calendar.prmonth(2009, 8)
    August 2009
Mo Tu We Th Fr Sa Su
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
>>>


/* 에디터로 작성 */
# file : cal.py
import calendar
calendar.prmonth(2009, 8)
// 저장(cal.py)을 하고 F5을 누르면 IDLE에 바로 실행된다.


/* 위에서 작성한 cal.py를 도스창에서 실행 */
C:\Users\Administrator>cd ..
C:\Users>cd \Python26
C:\Python26>python cal.py
    August 2009
Mo Tu We Th Fr Sa Su
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31


/*
* range(시작, 끝, 간격)
* 1부터 10까지 2씩 간격으로 출력
*/

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


/*
* square.py로 저장
* 10부터 100까지 30간격으로 사각형을 출력. (총 3개의 사각형 출력)
*/

>>> from turtle import *
>>> reset()
>>> def square(size):
    for x in range(4):
        forward(size)
        right(90)

>>> for size in range(10, 100, 30):
    square(size)


/* 도움말 */
>>> import sys
>>> help(sys) //sys에 대한 도움말 문서가 출력


/* 예약어 보기 */
>>> import keyword
>>> keyword.kwlist
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> len(keyword.kwlist) //예약어 개수
31


/* 치환문 */
>>> a = 1
>>> b = 2
>>> print a, b
1 2
>>> a, b = b, a //값의 교환
>>> print a, b
2 1


/* eval : 문자열로 된 파이썬 식(Expression)을 실행 */
>>> a = 1
>>> a = eval('a + 2')
>>> a
3


/* exec : 문자열로 된 문(Statement)을 수행 */
>>> a = 5
>>> exec 'a = a + 4'
>>> a
9


/* exec로 여러개의 문을 실행할 때 */
>>> s = '''
a = 1
if a > 0:
 print 'Success'
'''
>>> exec s
Success


raw_input() : 키보드로부터 문자열을 읽어들임. 하나의 인수를 받을 수 있음

>>> name = raw_input('이름?')
이름?movenext
>>> name
'movenext'
>>> number = raw_input('number : ')
number : 777
>>> number
'777' //키보드로 입력된 값은 숫자형이 아닌 문자형이다.
>>> a = int(number) //문자형을 숫자형으로 변환
>>> a
777
>>> a = float(number) //문자형을 실수형으로 변환
>>> a
777.0


input() : 입력된 문자열을 파이썬 식으로 처리(식을 입력해서 사용)
>>> a = input('expr : ')
expr : 10 + 30
>>> a
40
>>> a = input('expr : ')
expr : a + 1
>>> a
41


print : 화면에 출력할 때 사용

//잘바꿈이 자동으로 처리
>>> for x in range(10):
 print x

 
0
1
2
3
4
5
6
7
8
9

//콤마(,)를 사용하면 아래 결과처럼 줄바꿈없이 옆으로 출력된다.
>>> for x in range(10):
 print x,

 
0 1 2 3 4 5 6 7 8 9


슬라이싱(Slicing) : 부분 문자열 획득
>>> a = "Hello World"
>>> a[1:4]
'ell'

(0) H (1) e (2) l (3) l (4) o (5)  (6) W (7) o (8) r (9) l (10) d
// 1번과 4번 사이의 글자인 ell 만 출려됨

>>> a[9:]
'ld'
>>> a[:3]
'Hel'
>>> a[:]
'Hello World'


// (start:stop:step)의 방식으로 슬라이싱을 할 수 있음.
>>> a = 'abcd'
>>> a[::2]
'ac'
>>> a[::-1]
'dcba'


// 문자열은 변경되지 않기 때문에 슬라이싱과 연결하기를 이용한다.
>>> a = 'Hello World'
>>> a[0] = 'h'

Traceback (most recent call last):
  File "<pyshell#152>", line 1, in <module>
    a[0] = 'h'
TypeError: 'str' object does not support item assignment
>>> a = 'h' + a[1:]
>>> a
'hello World'


// 문자열 포함여부
>>> a = 'Hello World'
>>> 'World' in a
True
>>> 'World' not in a
False


리스트 : 임의의 객체를 저장하는 집합적 자료형

>>> L = [1,2,3]
>>> len(L) // 리스트 개수
3
>>> L[1]
2
>>> L[-1]
3
>>> L[1:3]
[2, 3]
>>> L + L
[1, 2, 3, 1, 2, 3]
>>> L * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> L = range(10) // 0부터 10까지
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L[::2]
[0, 2, 4, 6, 8]
>>> L[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> 4 in L // L에서 4의 포함여부
True

>>> L = [1,2,3]
>>> L.append(4) //제일 뒤에 추가
>>> L
[1, 2, 3, 4]
>>> del L[0] // 삭제
>>> L
[2, 3, 4]
>>> L.reverse() // 리스트 순서를 반대로 바꾼다.
>>> L
[4, 3, 2]
>>> L.sort() // 리스트 순서를 오름차순으로 정렬
>>> L
[2, 3, 4]
>>> L.insert(1,100) // 1번째 인덱스에 100값을 추가
>>> L
[2, 100, 3, 4]


튜플 : 문자열과 리스트와 유사한 특성을 가짐. 튜플과 리스트의 차이는 튜플은 값이 변경이 안 되고, 리스트는 가능
>>> t = (1,2,3)
>>> t[0] = 100 //튜플은 값이 변경되지 않음

Traceback (most recent call last):
  File "<pyshell#203>", line 1, in <module>
    t[0] = 100
TypeError: 'tuple' object does not support item assignment
>>> L = [1,2,3]
>>> L[0] = 100 //리스트는 값의 변경이 가능
>>> L
[100, 2, 3]


사전 : 키를 사용하여 값을 얻는 자료 구조. 순서에 따라 요소들을 저장하지 않는다.

>>> D = {'one':1, 'two':2}
>>> D
{'two': 2, 'one': 1}
>>> D['one']
1
>>> D['one'] = 'hana' // one키의 값을 변경
>>> D['one']
'hana'
>>> D
{'two': 2, 'one': 'hana'}
>>> D['three'] = 4 // 키는 'three', 값은 '4'로 추가한다.
>>> D['three']
4
>>> D
{'three': 4, 'two': 2, 'one': 'hana'}
>>> del D['three'] // three 키를 가진 값을 삭제
>>> D
{'two': 2, 'one': 'hana'}

'Python' 카테고리의 다른 글

맥(Mac)에서 파이썬(Python) 설치하기  (5) 2015.06.18
문자열  (0) 2009.08.23
수치 자료형과 연산자  (0) 2009.08.23
제어문  (0) 2009.08.23