'Programming'에 해당되는 글 25건
- 2010.07.31 ◎ 자료형의 종류(문자열,리스트,튜플,사전)
- 2010.07.30 ◎ 콘솔 입 .출력
- 2010.07.30 ◎ 문자열로 된 파이썬 코드 실행하기
- 2010.07.30 ◎ 파이썬 기초문
- 2010.07.30 ◎ 변수명 및 예약어
- 2010.07.30 ◎ 파이썬 설치
- 2010.05.08 ◎ Editplus에서 파이썬 설정(함수패턴,출력패턴)
- 2010.05.05 연산자 우선순위
1. 문자열
-
문자열은 문자들(텍스트)를 표현하기 위한 자료형이다.
-
단일 인용부호('') 혹인 이중인용부호("") 안에 묶여진 문자들의 모임.
>>> print 'Hello World!' Hello World! >>> print "Hello World!" Hello World! |
-
인덱싱(indexing)으로 각각의 문자를 취할 수 있다.
>>> s = "Hello World!" >>> s[-2] 'd' |
-
슬라이싱(slicing)으로 부분 문자열을 취할 수 있다.
>>> s[1:3] 'el' >>> s[0:5] 'Hello' |
-
슬라이싱의 시작 위치가 생략되면 '처음부터', 마지막 위치가 생략되면 '끝까지'의 의미
>>> s = 'Hello' >>> s[1:] 'ello' >>> s[:3] 'Hel' |
-
슬라이싱은 세가지 값을 갖을 수 있다.[start:stop:step] (확장슬라이스(extended slice))
-
파이썬 2.3부터는 내장 시퀀스 자료형에 몇 단계를 건너뛸까를 정하는 step이 지원.
-
시퀀스 자료형인 문자열, 리스트, 튜플에 모두 적용.
>>> s = 'abcd' >>> s[::2] # 2칸 단위로 'ac' >>> s[::-1] # 거꾸로 'dcba' |
-
연결(+)과 반복(*)의 연산도 적용.
>>> 'Hello' + ' ' + 'World' 'Hello World' >>> 'Hello' * 3 'HelloHelloHello' >>> '-' * 60 '------------------------------------------------------------' |
-
문자열은 값이 변경되지 않는다.
>>> s = 'Hello World' >>> s[0] = 'h' Traceback (most recent call last): File "<pyshell#16>", line 1, in <module> s[0] = 'h' TypeError: 'str' object does not support item assignment |
-
만일 문자열 변경을 원하면 슬라이싱과 연결하기를 이용.
>>> s = 'h' + s[1:] >>> s 'hello World' |
2. 리스트
-
[]를 사용하는 리스트는 임의의 객체를 저장하는 집합적 자료형.
-
각 자료는 순서를 가지고 있고, 순서에 의해서 접근.
>>> L = [1,2,3] # 세개의 자료를 갖는 리스트 >>> len (L) # 데이터 개수 3 >>> L[1] # 두번째 자료. 옵셋은 0부터 시작함. 2 >>> L[-1] # 마지막 자료. 3 >>> L[1:3] # 슬라이싱 [2, 3] >>> L * 3 [1, 2, 3, 1, 2, 3, 1, 2, 3] >>> L = range(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] >>> L.append(4) # 리스트 마지막에 자료 추가 >>> L [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4] >>> del L[0] # 리스트 자료 삭제. >>> L [1, 2, 3, 4, 5, 6, 7, 8, 9, 4] >>> L.reverse() # 리스트 순서를 거꾸로 바꾼다. >>> L [4, 9, 8, 7, 6, 5, 4, 3, 2, 1] >>> L.sort() # 리스트를 오름 차순 정렬. >>> L [1, 2, 3, 4, 4, 5, 6, 7, 8, 9] |
3. 튜플
-
()를 사용하는 튜플도 문자열과 리스트와 유사한 특성을 가는다.
>>> t = (1,2,3) >>> len(t) 3 >>> t[0] 1 >>> t[-1] 3 >>> t[0:2] (1, 2) >>> t[::2] (1, 3) >>> t + t + t (1, 2, 3, 1, 2, 3, 1, 2, 3) >>> t * 3 (1, 2, 3, 1, 2, 3, 1, 2, 3) |
-
튜플과 리스트의 차이 – 튜플은 값의 변경(X), 리스트는 값의 변경(O)
-
또한 리스트는 다양한 메쏘드를 갖고, 튜플은 그렇지 않다.
>>> t = (1,2,3) >>> t[0] = 100 Traceback (most recent call last): File "<pyshell#89>", line 1, in <module> t[0] = 100 TypeError: 'tuple' object does not support item assignment
>>> L = [1,2,3] >>> L[1] = 200 >>> L [1, 200, 3] |
4. 사전
-
사전은 옵셋이 아닌 키를 사용하여 값을 얻는 자료 구조.
-
사전에 x라는 키(key)를 주면 값 y를 돌려준다.
-
사전은 초기화할 때 {}를 사용. - 초기값은 키:값의 형태로 준다.
>>> d = {'one':'hana', 'two':'dul', 'three':'set'} >>> d {'three': 'set', 'two': 'dul', 'one': 'hana'} >>> d['one'] 'hana' >>> d['four'] = 'net' >>> d {'four': 'net', 'three': 'set', 'two': 'dul', 'one': 'hana'} >>> d['one'] = 1 >>> d {'four': 'net', 'three': 'set', 'two': 'dul', 'one': 1} |
-
사전은 순서에 따라 요소들을 저장하지 않는다. (키에 의해서 값을 추출)
-
사전을 -> 리스트나 튜플로 변환하는 것이 가능
>>> d = {'one':1, 'two':'dul', 'three':'set', 'four':'net'} >>> d.keys() # 키만 리스트로 출력. ['four', 'three', 'two', 'one'] >>> d.values() # 값만 리스트로 추출. ['net', 'set', 'dul', 1] >>> d.items() # 키와 값의 튜플을 리스트로 변환. [('four', 'net'), ('three', 'set'), ('two', 'dul'), ('one', 1)] |
'Programming > Python' 카테고리의 다른 글
◎ 자료형 확인과 기타의 자료형 (0) | 2010.07.31 |
---|---|
◎ 내장 자료형의 분류 (0) | 2010.07.31 |
◎ 콘솔 입 .출력 (0) | 2010.07.30 |
◎ 문자열로 된 파이썬 코드 실행하기 (0) | 2010.07.30 |
◎ 파이썬 기초문 (0) | 2010.07.30 |
-
콘솔 입력
-
문자열 입력 (raw_input)
-
정수나 실수 입력 (input)
-
>>> k = int(raw_input('int : ')) int : 89 >>> k 89
>>> i = input('int : ') int : 45 >>> i 45 |
>>> k = input('expr:') expr: 30+50 >>> k 80
>>> k = input('expr:') expr:k+1 >>>k 81 |
-
콘솔 출력
-
print
-
화면으로 자료를 출력.(가장 보편적으로 사용)
-
콤마(,)로 구분, 출력시 각 값들 사이에 공백 한 개각 추가.
-
-
>>> print 4+5, 4-2 9 2 |
-
세미콜론(;)으로 분리된 문은 순차적으로 입력된 문들로 처리.
>>> print 1; print 2 1 2 |
-
기본적으로 print문은 마지막에 줄바꾸기를 하지만, print 끝에 콤마(,)를 사용하면 줄바꾸기를 하지 않는다.
>>> print 1,; print 2 1 2 |
-
일반 자료형들도 ''식을 이용하여 문자열로 변환한 후 출력.
>>> print 12 + 'spam' # 숫자와 문자열간에 + 연산은 없다. Traceback (innermost last): File "<pyshell#118>", line 1, in ? print 12 + 'spam' TypeError: number coercion failed >>> print '12' + 'spam' # 숫자 12를 ''로 문자열로 변환한 후 공백업이 출력. 12spam |
-
pprint 모듈 이용하기.
-
print문이 복잡한 자료를 출력할 때 적합하지 않다면 pprint를 사용.
-
pprint를 사용했을 경우 출력.
-
>>> import pprint # pprint를 사용하기 위해서 먼저 import 해야 한다. >>> complicated = [ 'spam', (1, 2, 3), ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w'))] >>> complicated = complicated * 3
>> pprint.pprint(complicated) ['spam', (1, 2, 3) ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')), 'spam', (1, 2, 3) ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')), 'spam', (1, 2, 3) ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w'))] |
-
print를 사용했을 경우 출력.
>>> print complicated ['spam', (1, 2, 3), ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')), 'spam', (1, 2, 3), ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')), 'spam', (1, 2, 3), ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w'))] |
-
대화적 출력 후크(Interactive Display Hook) (2.1 이상) *
-
인터프리터를 대화적으로 사용할 때 출력은 기복적으로 pepr() 내장함수 사용.
-
sys.displayhook을 설정하면 pepr() 대신에 다른 함수를 기본출력으로 사용.
-
>>> import sys, pprint >>> sys.displayhook = pprint.pprint >>> complicated # 직접 ['spam', (1, 2, 3) ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')), 'spam', (1, 2, 3) ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')), 'spam', (1, 2, 3) ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w'))] |
'Programming > Python' 카테고리의 다른 글
◎ 내장 자료형의 분류 (0) | 2010.07.31 |
---|---|
◎ 자료형의 종류(문자열,리스트,튜플,사전) (0) | 2010.07.31 |
◎ 문자열로 된 파이썬 코드 실행하기 (0) | 2010.07.30 |
◎ 파이썬 기초문 (0) | 2010.07.30 |
◎ 변수명 및 예약어 (0) | 2010.07.30 |
-
eval – 문자열로 된 파이썬 식(expression)
-
eval (expression[, globals[, locals]])
-
>>> a = 1 >>> a = eval('a + 4') >>> a 5 |
-
exec – 문자열로 된 문(statement)
-
exec code [ in globals [, locals]]
-
>>> a = 5 >>> exec 'a = a + 4' >>> a 9 |
※ global – 전역 영역 사전, local은 지역 영역 사전. (이들 인수는 선택적)
-
compile(*)
-
exec나 eval은 문자열로 입력된 코드를 분석해서 파이썬 컴파일 코드로 변환하기 때문에,
이러한 코드를 반복 수행하게 되면 변환에 필요한 시간은 크게 늘어난다.
-
효율적인 수행 방법은 문자열을 파이썬 코드로 한번 변환해 둔 후에, 코드를 활용.
-
compile (string, filename, kind)
-
string – 코드 문자열, filename – 코드 문자열이 저장된 파일명, kind – 코드 종류 형식
-
>>> code = compile ('a + 1', '<string>', 'eval') >>> a = 1 >>> for k in range(10): a = eval(code) >>> a 11 |
'Programming > Python' 카테고리의 다른 글
◎ 자료형의 종류(문자열,리스트,튜플,사전) (0) | 2010.07.31 |
---|---|
◎ 콘솔 입 .출력 (0) | 2010.07.30 |
◎ 파이썬 기초문 (0) | 2010.07.30 |
◎ 변수명 및 예약어 (0) | 2010.07.30 |
◎ 파이썬 설치 (0) | 2010.07.30 |
-
주석문(comment)
-
>>> # 주석(comment)
-
>>> import sys # 주석(comment)
-
-
연속 라인
-
줄바꾸기 앞의 \는 다음 라인을 현재 라인과 연결시켜 주는 역할.
-
예) >>> if (a == 1) and \
-
…
-
-
치환문(assignment)
-
(=) 문은 우변의 객체 혹은 식을 좌변의 이름에 할당.
-
>>> a = (b = c + d) 이와 같은 C같은 형식은 허용 되지 않음
-
왜냐하면 b = c+d는 식(expression)이 아니라 문(statement)이기 때문.
-
자료형 확인은 (type 함수)를 사용
-
-
확장 치환문(2.0 이상)
-
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, **=
-
-
이름과 객체
-
변수의 이름과 값 객체가 분리.
-
a = 1이란 문에서 숫자 1이 변수 a에 저장되는 것이 아니라,
-
a를 이름, 숫자 1을 객체라고 하며, 두 개념은 분리되어 있다.
-
[이름과 객체의 분리 a = 1]
-
객체의 치환
-
X객체에 대한 참조만 Y와 Z에 삽입.
-
즉, X의 값 하나를 바꿧을 때 Y와 Z에 영향을 미치면 이것은 공유객체,
그렇지 않으면 분리된 객체임을 알수 있다.
-
'Programming > Python' 카테고리의 다른 글
◎ 콘솔 입 .출력 (0) | 2010.07.30 |
---|---|
◎ 문자열로 된 파이썬 코드 실행하기 (0) | 2010.07.30 |
◎ 변수명 및 예약어 (0) | 2010.07.30 |
◎ 파이썬 설치 (0) | 2010.07.30 |
◎ Editplus에서 파이썬 설정(함수패턴,출력패턴) (0) | 2010.05.08 |
-
변수명 만드는 법
-
첫 문자가 언더스코아(_), 영문자
-
두 번째 문자는 영문자, 숫자, 언더스코아(_)
-
정규식 표현([a-zA-Z_][a-zA-Z0-9_]*)
-
-
예약어
and |
del |
for |
is |
raise |
assert |
elif |
from |
lambada |
return |
break |
else |
global |
not |
try |
class |
except |
if |
or |
while |
continue |
exec |
import |
pass |
yield(2.2에 추가) |
def |
finally |
in |
|
-
프로그램으로 파이썬 예약어(keywork)를 아는 방법
-
변수명 만들 때 조심할
-
내장 함수 이름이나 모듈 이름은 피하는 것이 좋다.
-
'Programming > Python' 카테고리의 다른 글
◎ 콘솔 입 .출력 (0) | 2010.07.30 |
---|---|
◎ 문자열로 된 파이썬 코드 실행하기 (0) | 2010.07.30 |
◎ 파이썬 기초문 (0) | 2010.07.30 |
◎ 파이썬 설치 (0) | 2010.07.30 |
◎ Editplus에서 파이썬 설정(함수패턴,출력패턴) (0) | 2010.05.08 |
- 공식 홈 (http://www.python.org) 다운로드.
- 설치 디렉토리를 묻는 설치 초기화면.(기본값으로 설치).
- 설치 구성 요소를 선택.(별 무리 없으면 모두 선택).
- 설치 완료.
- 파이썬 설치 요소들에 대한 간략한 설명
- IDLE(Python GUI) - 파이썬 표준 GUI 대화식 인터프리터.
- Module Docks – 원하는 모듈 검색 도구(파이썬 2.1 이상 지원)
- Python (Command Line) – 도스창에서 수행되는 파이썬 대화식 인터프리터.
- Python Manuals – HTML 파일 형식의 파이썬 온라인 문서 모음.
❀ Mac OS X
맥 OS X나 리눅스 계열에서는 대부분 Default로 설치 되어 있다.
다음과 같이 버전 확인을 하여 설치 유무를 확인 해 보자.
Devanix ~ $ python --version Python 2.7.10 |
'Programming > Python' 카테고리의 다른 글
◎ 콘솔 입 .출력 (0) | 2010.07.30 |
---|---|
◎ 문자열로 된 파이썬 코드 실행하기 (0) | 2010.07.30 |
◎ 파이썬 기초문 (0) | 2010.07.30 |
◎ 변수명 및 예약어 (0) | 2010.07.30 |
◎ Editplus에서 파이썬 설정(함수패턴,출력패턴) (0) | 2010.05.08 |
(사용자 파일은 Editplus 홈페이지 http://www.editplus.com/kr 에 가시면 받을수 있습니다.)
*함수패턴 : ((def)|(class)) [a-zA-Z_].*:$
*함수패턴 설명 -> 파이썬 소스에서 함수와 클래스를 검색해서 "함수목록(ctrl + F11)"창 에 보여줍니다.
2. 문서 템플릿(template.py 파일은 내용없는 빈 파일로 하나 만들어 주세요.)
메뉴 제목 : Python
파일 경로 : C:\Program Files\EditPlus 2\template.py
3. 사용자 도구
메뉴제목 : Run
명령 : C:\Python23\python.exe
인수 : $(FileName)
디렉토리 : $(FileDir)
[v] 출력 내용 캡쳐
[v] 열려진 파일 저장
[출력 패턴...]
정규식
File "(.+)", line ([0-9]+)
정규식 태크
파일이름 : 태그로 표시된 식 1
줄 : 태그로 표시된 식 2
칸 : 없음
출력패턴 설명 -> 프로그램을 작성하고 실행(ctrl+1)했는데 애러가 발생할경우 "출력 창"에 File "filename.py", line 58
이런식으로 몇번줄에서 애러가 발생했다고 나오져, 이때 위의 문장에 더블클릭 함으로써 애러가 발생한 파일의 라인 번호로 쉽게 찾아가실수 있습니다.(태그 점프라고 하죠)
'Programming > Python' 카테고리의 다른 글
◎ 콘솔 입 .출력 (0) | 2010.07.30 |
---|---|
◎ 문자열로 된 파이썬 코드 실행하기 (0) | 2010.07.30 |
◎ 파이썬 기초문 (0) | 2010.07.30 |
◎ 변수명 및 예약어 (0) | 2010.07.30 |
◎ 파이썬 설치 (0) | 2010.07.30 |
'Programming > C' 카테고리의 다른 글
The GNU C Library Reference Manual (0) | 2011.09.08 |
---|---|
The C Library Reference Guide (0) | 2011.09.08 |
비트 제어 - 설정, 클리어, 반전, 검사, 추출 (0) | 2011.07.29 |
다시 체계적으로 배우는 C언어 포인터 (0) | 2011.07.07 |
매크로 (0) | 2010.05.05 |