티스토리 툴바


파이썬은 모든 것이 클래스이다.
따라서, 여러 자료구조들 간에 형변환이 가능하다. (서프라이즈~!)
STL과 비슷하지만 서로간에 형변환이 된다는 것은.. 가히 놀랄만하다.
STL이나 자료구조를 조금 훑기라도 했다면 들어봤을법한 키워드이므로.. 설명은 생략.

1. 리스트
# 리스트 - [] 연산자로 묶어서 정의
>> colors = ['red', 'green', 'gold']
>> colors
['red', 'green', 'gold']
>> type(colors) # type()은 인자로 준 자료형이 무엇인지 반환하는 함수


# 리스트 - 값 추가
>> colors.append('blue')
>> colors
['red', 'green', 'gold', 'blue']
>> colors.insert(1, 'black')
>> colors
['red', 'black', 'green', 'gold', 'blue']
>> colors.extend(['white', 'gray'])
>> colors
['red', 'black', 'green', 'gold', 'blue', 'white', 'gray']
>> colors += ['red']
>> colors
['red', 'black', 'green', 'gold', 'blue', 'white', 'gray', 'red']
>> colors += 'red'
['red', 'black', 'green', 'gold', 'blue', 'white', 'gray', 'red', 'r', 'e', 'd']

# 리스트 - index() 
>> colors.index('red')
0
>> colors.index('red', 1) # 시작점 명시 (순차 탐색인듯)
7

# 리스트 - 그외
>> colors.count('red')
2
>> colors.pop() # 뒤에서 값을 뽑아내고 삭제
'red'
>> colors.pop(1) # index로 pop()
'black'
>> colors.remove('gold') # 해당 값 삭제, 2개 있다면 앞 쪽에 있는 값 삭제

# 리스트 - 정렬
>> colors.sort() # 순방향 정렬
>> colors.reverse() # 역방향 정렬



2. 세트
# 세트(집합) - {} 연산자로 묶어서 정의
>> a = {1, 2, 3}
>> b = {3, 4, 5}
>> a
{1, 2, 3}
>> b
{3, 4, 5}
>> type(a)


# 세트 - 집합 연산
>> a.union(b) # 합집합('|' 연산자로도 가능 ex: a | b)
{1,2,3,4,5}
>> a.intersection(b) # 교집합('&' 연산자로도 가능 ex: a & b)
{3}
>> a - b # 차집합
{1, 2}


Posted by 전산쟁이폴

1. 변수명
제약사항은 C와 동일 함.
# 파이썬 예약어
and, as, assert, break, class, continue, def, del, elif, else, except, is, 
finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield 


2. 수치
수치형 - int, long, float, complex
정수 앞에 '0o' 를 붙이면 8진수, '0b'를 붙이면 2진수, '0x'를 붙이면 16진수로 인식

원하는 진수로 변경해주는 함수
oct(), hex(), bin()

수치에 대한 연산
 +, -, *, /, %, **(거듭제곱), //(정수나누기 = 결과값이 정수)


3. 문자
파이썬은 문자를 단일인용부호(')나 다중인용부호(")로 묶어서 표현함.
즉, 쿼터로 시작하면 쿼터, 더블쿼터로 시작하면 더블쿼터로 마무리 해야 함.

문자열에서 제공하는 기본 연산
더하기 (+) - 문자열 상수끼리만 가능 ("py" + "thon")
곱하기 (*) - 문자열 반복 ('py' * 3 = 'pypypy')

문자열 인덱싱

>> a = "python" >> a[0] 'p' >> a[5] 'n' #문자열 꺼내기 (슬라이싱) - 변수 뒤에 [시작위치:끝위치 >> a[0:1] 'p' >> a[1:4] 'yth' >> a[:2] 'py' >> a[-2:] 'on' # 문자열과 수치들간의 변환 >> str(3.14) '3.14' >> int("49") 49 >> float(23) 23.0

Posted by 전산쟁이폴

파이썬이 C보다 먼저 발표 되었더라면 세상이 훨씬 아름다워져 있을 것이다. - 지은이(최종진)

이 책이 끝나갈 무렵, 지은이와 같은 공감대가 형성되었으면 한다.

1. 파이썬의 특징
가독성, 풍부한 라이브러리, 접착성, 무료, 유니코드, 동적타이핑

어떠한 한 언어에 대해 특징을 얘기한다는 것은 그 언어에 전문적인 사람들의 주관적인 견해인듯 하다.
따라서... 별 얘기안함.

가독성 - 코드 블럭을 들여쓰기로 구분
풍부한 라이브러리 - 라이브러리가 많고 확장성이 뛰어남.
접착성 - C로 구현된 모듈을 쉽게 만들어서 붙일 수 있음.
무료 - Python Software Foundation License를 따르며 거의 무료임.
유니코드 - 모든 문자열이 유니코드
동적타이핑 - 런타임 상황에서 타입 확인 및 자신이 만든 함수 호출이 가능

2. 파이썬의 종류
Cpython - C로 작성된 파이썬, 기본적으로 파이썬은 Cpython을 의미함.
Jython - 자바로 작성된 파이썬, 자바 가상 머신(JVM)상에서 작동이 가능함.
IronPython - .Net과 Mono용으로 개발된 파이썬, C#으로 구현되어 있음.
PyPy - 파이썬으로 구현된 파이썬, Cpython보다 빠르게 수행되는것을 목표로 함.

3. Hello world! 출력하기

print("Hello world!")
끄읕...-_ -? 끝!

4. 들여쓰기
파이썬에서는 들여쓰기가 코드블럭이 된다.
따라서, 들여쓰기를 잘못하면 실행자체가 안될 수 있다.
Posted by 전산쟁이폴

필요에 의해서가 아닌, 그러나 심심풀이도 아닌!! 스크립트 언어를 하나 배워볼까 한다.
MFC로 작업을 하다보면 테스트가 필요한 경우가 많은데 간단한 모듈 테스트를 하려고 해도
MFC 프로젝트를 만들기는 부담스럽고.. C, C++ 라이브러리로는 안되는 것들이 많아서 많은(?) 사람들이
추앙하는 파이썬을 배워볼까 한다.

교재 - 빠르게 활용하는 Python3 프로그래밍
실습 도구
http://python.org/download/ - python-3.2.2(x86)
http://www.aptana.com/ - Aptana_Studio_3_Setup_3.0.6

책에서 실습은 python에 내장된 edit로 하는 것 같은데... VS에 익숙해진 나는... 이게 싫다 -_ -;
이것저것 찾아봤는데 파이썬 하나 하자고 eclipse 설치하기도 뭐해서 Aptana studio를 사용함.
Aptana studio 인터페이스는 거의 eclipse와 동일한데 이것저것 설정을 만지다 보니 자꾸 죽는다 -_-;;

아무튼.


window - perferences 설정 변경 


코딩 준비 완료!  (하노이 탑 문제 푸는 중..)
Posted by 전산쟁이폴