'Programming/Python'에 해당되는 글 5건

  1. 맥(Mac)에서 파이썬(Python) 설치하기 (5)
  2. 문자열
  3. 수치 자료형과 연산자
  4. 제어문
  5. Python 기초

맥(Mac)에서 파이썬(Python) 설치하기




1. 파이썬 다운로드

  • http://www.python.org 에 접속하여 Downloads 를 클릭한다.


  • Download Python 3.4.3 을 클릭한다.



2. 설치

  • 설치과정은 간단하다. [계속] 버튼을 눌러주고 약관동의에서는 [동의] 버튼을 눌러주고 [설치] 버튼을 눌러주면 끝이다.
  • 아래 그림 순서대로 진행하면 된다.











  • Launchpad 에 가면 아래 그림처럼 2개의 앱이 설치된 것을 확인할 수 있다.




3. Python IDLE

  • IDLE은 Intergrated Development Environment 의 약어로 통합개발환경이라는 의미다.
  • IDLE을 통해 파이썬이란 언어로 컴퓨터와 대화하는 공간이라 생각하면 된다.
  • 다음은 Launchpad 에 들어가 "IDLE" 을 실행시킨 화면이다.


  • 아래 print 명령어를 그대로 IDLE에 입력후 엔터를 눌러보자.

>>> print("Hello World")


  • print 명령문 실행결과 화면이다. Hello World 가 출력되는 것을 볼 수 있다.



4. IDLE and tkinter with Tcl/Tk on Mac OS X
  • IDLE 실행하면 경고 문구가 있다.



  • 경고 문구에 적힌대로 Tcl/Tk (8.5.9) 버전이 불안정하므로 http://www.python.org/download/mac/tcltk/ 에 가보자.
  • ActiveTcl 8.5 글자를 클릭하자.



  • Download ActiveTcl 8.6.4 버튼 이미지를 클릭하면 안된다. 8.6.4 버전으로는 해결되지 않는다.
  • 빨간색 박스로 표시한 8.5.18.0 버전에 해당하는 Mac Disk Image 를 클릭한다. "ActiveTcl8.5.18.0.298892-macosx10.5-i386-x86_64-threaded.dmg" 파일이 다운로드 된다.



  • 다운로드돈 dmg 파일을 실행한다.




  • ActiveTcl-8.5.pkg 부분을 더블클릭하면 "확인되지 않은 개발자자가 배포했기 때문에 열 수 없습니다."란 안내메시지가 나오므로 마우스 오른쪽 버튼을 클릭한다.

  • [ 다음으로 열기 > 설치 프로그램(기본) ] 을 클릭한다.



  • [열기]를 누른다.



  • [계속]을 눌러 설치를 진행한다.




  • [동의]를 누른다.




  • 각자 컴퓨터에 맞는 계정을 입력하고 [소프트웨어 설치]를 누른다.



  • 설치완료



  • IDLE을 실행하면 경고 메시지가 사라진 것을 확인할 수 있다.

  • 2시간 넘도록 영어 페이지들을 보며 이렇게 저렇게 설치했다가 지웠다가 하면서 해결!!!




링크
  • 파이썬 공식 사이트 : http://www.python.org
  • Tcl/Tk : http://www.python.org/download/mac/tcltk/


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

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

문자열

[ 시퀀스 자료형 ]
- 여러 객체를 저장
- 각 객체들은 순서를 갖는다
- 각 객체들은 첨자를 이용하여 참조가능

* 종류 : 리스트, 튜플, 문자열

* 공통 연산
  인덱싱(indexing) [1]
  슬라이싱(slicing) [1:4]
  연결하기 s + t
  반복하기 s * 4
  멤버쉽 테스트 'a' in s
  길이 정보 len(s)

>>> s = 'abcd' //문자열
>>> L = [100,200,300] //리스트
>>> t = ('tuple', 'object', 1, 2) //튜플

 

[ 여러 줄 문자열 ]
- '''혹은 """로 정의

>>> multiple_lines = '''
first line
second line
third line
'''
>>> print multiple_lines

first line
second line
third line

 

[ 문자열 변경 ]
- 직접적인 변경 불가
- 새로운 이름으로 치환

>>> s = 'snsd is pretty'
>>> s[0] = 'S' //직접적인 변경 불가

Traceback (most recent call last):
  File "<pyshell#59>", line 1, in <module>
    s[0] = 'S'
TypeError: 'str' object does not support item assignment
>>> s = 'S' + s[1:] + '~~!!' //슬라이싱으로 처리
>>> s
'Snsd is pretty~~!!' // SNSD : 소녀시대. ㅋㅋㅋ

 

[ 포매팅 ]
- 문자열을 자유롭게 구성할 수 있음
- 양식과 데이터를 분리

>>> names = ['서현','유리']
>>> for name in names:
 print '%s님 안녕하세요~' %name // names 리스트에 있는 값을 %s에 대체

 
서현님 안녕하세요~
유리님 안녕하세요~

>>> '%s = %s' % ([1,2,3], (1,2,3)) //리스트와 튜플 사용가능 %s로 문자열로 변환
'[1, 2, 3] = (1, 2, 3)'


%d : 10진 정수
%o : 8진수
%x : 16진수 (소문자 영문으로 표시)
%X : 16진수 (대문자 영문으로 표시)

>>> '%3d' % 1 // %d에 3이란 값은 3자리수로 표현
'  1'

>>> '%5.2f' % 1.23456 // 5자리의 수, 소수점은 2자리로 표현(소수점은 반올림)
' 1.23'


/* 사전을 이용한 포멧팅 */
>>> D = {'name':'서현', 'msg':'순수'}
>>> print '%(name)s은 %(msg)s하다' % D
서현은 순수하다


/* 지역 변수의 사전을 넘긴다. 내가 정의한 로컬 변수들이 정의되어 있다. */
>>> vars()
{'a': 1, 'c': 500, 'b': 2, 'name': '\xc0\xaf\xb8\xae', '__builtins__': <module '__builtin__' (built-in)>, 'l': [100, 900, 300], '__package__': None, 'sys': <module 'sys' (built-in)>, 's': 'spam and egg', 'names': ['\xbc\xad\xc7\xf6', '\xc0\xaf\xb8\xae'], 'multiple_lines': '\nfirst line\nsecond line\nthird line\n', '__name__': '__main__', '__doc__': None, 'math': <module 'math' (built-in)>, 'D': {'msg': '\xbc\xf8\xbc\xf6', 'name': '\xbc\xad\xc7\xf6'}}

 

[ 문자열 메쏘드 ]
* 대소문자 변환
- upper() : 대문자변환
- lower() : 소문자변환
- capitalize() : 첫 문자를 대문자로 변환

>>> s = 'spam and ham'
>>> s.upper() // 대문자 변환
'SPAM AND HAM'
>>> s.lower() // 소문자 변환
'spam and ham'
>>> s.capitalize() // 첫 문자를 대문자로 변환
'Spam and ham'


* 검색관련
- count(s) : 문자열 s가 몇 번 발생(사용)했는지 수를 반환
- find(s) : 부분 문자열을 앞(왼쪽)부터 찾음
- rfind(s) : 부분 문자열을 뒤(오른쪽)부터 앞(왼쪽)으로 찾음.
- index(s) : find와 동일하나 찾는 값이 없으면 예외 ValueError 발생

>>> s = 'spam and ham'
>>> s.count('a') // 'a'가 사용된 수를 반환
3
>>> s.find('and') // 'and' 문자열이 어느 위치에 있는지 반환
5
>>> s.find('m')
3
>>> s.rfind('m') // 'm' 문자를 뒤(오른쪽)부터 앞(왼쪽)으로 검색해서 어느 위치에 있는지 반환
11
>>> s.find('m', 4) // 'm' 문자를 4번 위치 이후에 어느 위치에 있는지 반환
11

>>> s.index('egg') // 'egg' 단어가 없기 때문에 예외 발생

Traceback (most recent call last):
  File "<pyshell#111>", line 1, in <module>
    s.index('egg')
ValueError: substring not found

>>> s.index('and') // 'and' 가 어느 위치에 있는지 검색
5

 

* 편집 및 변환
- strip() : 좌우 공백 없앰
- lstrip() : 왼쪽 공백 없앰
- rstrip() : 오른쪽 공백 없앰
- replace(a, b) : a를 b로 바꾼다
- expandtabs() : 탭을 공백 문자로 바꾼다

>>> t = ' spam '
>>> t.lstrip() // 왼쪽 공백 없앰
'spam '
>>> t.rstrip() // 오른쪽 공백 없앰
' spam'
>>> t.strip() // 좌우 공백 없앰
'spam'

'spam and ham'
>>> s.replace('and', 'or') // 'and'를 'or'로 바꾼다.
'spam or ham'
>>>

 >>> t = 'a\tb\tc' // \t : 탭
>>> t
'a\tb\tc'
>>> t2 = t.expandtabs() // 탭을 공백(기본 8자리)으로 변환
>>> t2
'a       b       c'
>>> print t2
a       b       c
>>> t2 = t.expandtabs(4) // 탭의 공백을 4자리의 공백으로 변환
>>> print t2
a   b   c
>>>

 


* 분리와 결합
- split() : 문자열 분리
- join() : 문자열 결합

>>> s
'spam and ham'
>>> s.split() // 단어별로 분리
['spam', 'and', 'ham']

>>> for word in s.split():
 print word, len(word)

spam 4
and 3
ham 3

>>> s.split('and') // split()에 인수값을 주는 경우에 인수를 기준으로 분리
['spam ', ' ham']

>>> mul='''line 1
line 2
line 3'''
>>> mul.split('\n') // 라인단위로 분리
['line 1', 'line 2', 'line 3']
>>> for line in mul.split('\n'):
 print line, len(line)

line 1 6
line 2 6
line 3 6
>>>

>>> t = s.split() // 단어별로 분리
>>> t
['spam', 'and', 'ham']
>>> ' '.join(t) //분리한 단어를 공백으로 합침
'spam and ham'
>>> ''.join(t)
'spamandham'
>>> '\n'.join(t) //분리한 단어를 줄을 바꿔서 합침
'spam\nand\nham'
>>> print '\n'.join(t) //분리한 단어를 줄을 바꿔서 합침
spam
and
ham
>>>

 

* 정렬(alignment)
- center()
- ljust()
- rjust()


>>> s
'spam and ham'
>>> s.center(60) // 60자 사이에 가운데로 정렬
'                        spam and ham                        '
>>> s.ljust(60) // 60자 사이에 왼쪽으로 정렬
'spam and ham                                                '
>>> s.rjust(60) // 60자 사이에 오른쪽으로 정렬
'                                                spam and ham'
>>>

 


* 문자열 질의
- isalnum() : 영문자 숫자인지 여부
- isalpha() : 영문자인지 여부
- isdigit() : 숫자인지 여부
- islower() : 소문자인지 여부
- isspace() : 공백문자인지 여부
- istitle() : 제목인지 여부 (단어 첫부분이 대문자일 경우 제목으로 인식)
- isupper() : 대문자인지 여부


>>> 'Gone with the wind'.istitle() // 제목인지 여부
False
>>> 'Gone With The Wind'.istitle() // 제목인지 여부(단어 첫부분이 대문자일 경우 제목으로 인식)
True

>>> 'abcd1234'.isalnum() // 영문자 숫자인지 여부
True
>>> '1234'.isdigit() // 숫자인지 여부
True

 


* string 모듈
- digits, octdigits, hexdigits, letter, lowercase, uppercase, punctuation, printable, whitespace

>>> import string
>>> string.digits
'0123456789'
>>> string.octdigits
'01234567'
>>> string.letters
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
>>> string.uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>>

/* 숫자인지의 여부를 출력 */
>>> s = '123'
>>> for ch in s:
 if ch in string.digits:
  print '%s is in digits' % ch

  
1 is in digits
2 is in digits
3 is in digits


>>> s = 'spam'
>>> string.upper(s)
'SPAM'
>>> s.upper() // 1.6버전 이후로 이 방법을 추천
'SPAM'

 

* 모듈 함수
- 대부분 문자열 메쏘드와 동일
- capwords(s) : 각 단어의 첫 문자를 대문자로 변환
- zfill(s, n) : 왼쪽의 빈자리를 0으로 채운다

>>> string.capwords('spam and ham') // 각 단어의 첫 문자를 대문자로 변환
'Spam And Ham'
>>> string.zfill('123', 6) // 6자리를 확보하여 왼쪽의 빈자리를 0으로 채운다
'000123'
>>>

 

[ 유니코드 ]
- 다국어 문자를 표현하기 위해 사용
- 1.6부터 지원
- 한글 표현이 안될 경우 한글 코덱을 설치

>>> unicode('한글')
u'\ud55c\uae00'

>>> unicode('한글').encode('euc-kr')
'\xc7\xd1\xb1\xdb'

>>> unicode('한글').encode('utf-8')
'\xed\x95\x9c\xea\xb8\x80'

 

[ 문서 문자열 ]
* 모듈이나 함수, 메쏘드를 해설하는 문서 문자열

* 문서 문자열의 참조
- __doc__ 속성
- 좀 더 자세한 설명을 보려면 help를 이용
  형식화해서 표시
  하위 함수나 클래스의 문서 문자열도 표시


>>> import string
>>> string.upper
<function upper at 0x0266D070>
>>> print string.upper.__doc__
upper(s) -> string

    Return a copy of the string s converted to uppercase.

   
>>>
>>> help(string.upper)
Help on function upper in module string:

upper(s)
    upper(s) -> string
   
    Return a copy of the string s converted to uppercase.


* 문서 문자열 만들기
- 모듈 : 파일의 첫 문자열
- 함수 - 함수의 첫 문자열
- 클래스, 메쏘드 등도 마찬가지

 

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

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

수치 자료형과 연산자

//최대 정수값
>>> import sys
>>> sys.maxint
2147483647

 

[ 관계연산자 ]
>>> a = 500
>>> b = 500
>>> a == b // a와 b의 값이 같은지의 여부
True
>>> a is b // a객체와 b객체가 같은지의 여부
False
>>> c = b // c에 b객체를 넣어준다.
>>> c is b // c객체와 b객체가 같은지의 여부
True

 

[ 내장 수치 연산 함수 ]
>>> abs(-123) // 절대값
123

>>> int(123.1234) // int(정수)형으로 변환
123

>>> long(123) // long형으로 변환
123L

>>> float(123) // float(실수)형으로 변환
123.0

>>> divmod(5, 3) // (x//y, x%y) 결과를 반환
(1, 2) // 몫이 1이고 나머지가 2로 결과를 반환

>>> a, b = divmod(5, 3) //몫을 a에, 나머지를 b에 값을 넘겨준다.
>>> a
1
>>> b
2

>>> pow(2, 3) // 2^3의 결과를 반환
8

 

[ 수치 연산 함수 ]
/* 수치 연산을 위한 모듈 */
- math : 실수연산
- cmath : 복소수 연산

>>> import math
>>> dir(math) //math에 정의된 이름 나열
['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'exp', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'hypot', 'isinf', 'isnan', 'ldexp', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc']

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

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

제어문

[ 파이썬 제어문 ]

/* if문 */
if 조건식1:
 <수행1>
elif 조건식2:
 <수행2>
else:
 <수행3>


/* for문 */
for <타겟> in <객체>:
 <문1>
else:
 <문2>


>>> for x in [1,2,3]:
 print x

1
2
3

>>> for x in ['cat','cow','tiger']:
 print x

cat
cow
tiger


/* 0부터 9까지 출력 */
>>> range(10)
[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


/* else는 for문이 정상적으로 실행된 후에 마지막으로 실행부분 */
>>> for x in range(10):
 print x,
else:
 print 'done'

0 1 2 3 4 5 6 7 8 9 done


/* break문을 사용하면 else문은 실행되지 않는다. */
>>> for x in range(10):
 if x > 3:
  break
 print x,
else:
 print 'done'

0 1 2 3


/* 1부터 100까지의 수 중에 3과 7로 나누어 떨어지는 수를 출력 */
>>> for x in range(1, 101):
 if x % 3 == 0 and x % 7 == 0:
  print x,

  
21 42 63 84


/* while문 */
while <조건식>:
 <문1>
else:
 <문2>


/* count가 0보다 큰 경우 while문 실행 */
>>> count = 5
>>> while count > 0:
 print 'Hello'
 count -= 1

 
Hello
Hello
Hello
Hello
Hello

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

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

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'}

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

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