[http://zeropage.org/pub/language/python/python-2.4.1.msi Python2.4.1 다운로드] Upload:DevilsCamp2005_Python.ppt || [[TableOfContents]] || == 풀어본 문제들 == [피보나치] [ReverseAndAdd] [구구단] [마름모출력] MineSweeper == 신기한 익스플로러 제어 == [파이썬으로익스플로어제어] == 주석 == {{{~cpp # a = 4 }}} == 도움말 얻기 == * dir() : 인수에 객체를 전달하면 객체 내에서 사용할 수 있는 함수 리스트를 리턴한다. * help() : 인수에 전달된 명령에 대한 설명을 보여준다. {{{~cpp >>> l = [] >>> dir(l) >>> help(l.append) Help on built-in function append: append(...) L.append(object) -- append object to end }}} == 입력 == raw_input 문자열 입력 input 수치형 입력 {{{~cpp >>> raw_input('your name? ') your name? zp 'zp' >>> n = input('숫자 입력하세요. ') 숫자 입력하세요. 5 >>> >>> n 5 }}} == 내장 자료형 == === 수치형 === {{{~cpp a = 10 int(32bit) b = 2.5 float(64bit) c = 999999999999999999L long형(무제한) d = 4 + 5j complex(각 64bit) }}} {{{~cpp x ** y power. x의 y제곱 divmod(x, y) returns (int(x/y), x % y) >>> divmod(5,3) (1, 2) round(x) 반올림 abs(-3) 3 int(3.15) 3 float(5) 5.0 complex(2, 5) 2 + 5j }}} === 문자형 === {{{~cpp s = 'abcdef' }}} === 튜플 === 임의의 객체를 저장하는 자료형. 순서를 가지고 순서에 의해 접근 가능. 객체의 변경이 불가능한다. {{{~cpp >>> t = (1,2,3) >>> t * 2 반복 (1, 2, 3, 1, 2, 3) >>> t + ('tuple',) 연결 (1, 2, 3, 'tuple') >>> t[1:3] 슬라이싱 (2, 3) >>> len(t) 길이 3 >>> 1 in t 멤버십 테스트 True >>> l = list(t) 리스트로 변환 >>> l [1, 2, 3] >>> t = tuple(l) 튜플로 변환 >>> t (1, 2, 3) }}} === 리스트 === 임의의 객체를 저장하는 자료형. 순서가 있고 순서에 의해(index) 접근 가능. 객체의 변경이 가능한다. {{{~cpp >>> L = [] 빈 리스트 생성 >>> L = [1,2,3] >>> len(L) 길이 3 >>> L[1] 인덱싱 2 >>> L[1:3] 슬라이싱 [2, 3] >>> L[-1] 3 >>> L + L 연결 [1, 2, 3, 1, 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(100) 추가 >>> L [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100] >>> L.insert(1, 50) >>> L [0, 50, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100] >>> del L[2] 삭제 >>> L [0, 50, 2, 3, 4, 5, 6, 7, 8, 9, 100] >>> L.reverse() 순서를 바꾼다 >>> L [100, 9, 8, 7, 6, 5, 4, 3, 2, 50, 0] >>> L.sort() 정렬 >>> L [0, 2, 3, 4, 5, 6, 7, 8, 9, 50, 100] }}} === 사전 === 임의의 객체 저장. 자료의 순서를 갖지 않는다. 키(key)를 이용해 값(value)에 접근한다. 내부적으로 해쉬(hash)를 이용하여 자료를 저장한다. 빠른 속도로 자료를 찾을 수 있다. {{{~cpp >>> dic = {'baseball':5, 'soccer':10, 'basketball':15} >>> dic['baseball'] 5 >>> dic['baseball'] = 20 >>> dic {'basketball': 15, 'soccer': 10, 'baseball': 20} }}} 메소드 {{{~cpp >>> dic.keys() 키들을 리스트로 리턴 ['basketball', 'soccer', 'baseball'] >>> dic.values() 값들을 리스트로 리턴 [15, 10, 20] >>> dic.items() (key, value)을 리스트로 리턴 [('basketball', 15), ('soccer', 10), ('baseball', 20)] >>> if 'soccer' in dic: 사전이 key를 가지고 있는지 검사. 있으면 True리턴 print dic['soccer'] 10 }}} == 시퀀스 자료형의 공통 연산 == 시퀀스 자료형 : 문자열, 리스트, 튜플 등 {{{~cpp 인덱싱 s[1] 슬라이싱 s[1:3] 연결 s + 'abc' 반복 s * 2 멤버십 테스트 'a' in s 길이 len(s) }}} == for == 1에서 9까지의 합 {{{~cpp >>> sum = 0 >>> for x in range(1, 10): sum += x >>> sum 45 }}} 1, 3, 5, 7, 9의 합 {{{~cpp >>> odd = 0 >>> for o in range(1, 10, 2): odd += o >>> odd 25 }}} 리스트 자료형의 객체 출력 {{{~cpp >>> number = [1,2,3,4,5] >>> for n in number: print n, 1 2 3 4 5 }}} == 참고 자료 == * [02_Python] * [2학기파이선스터디] * PythonLanguage * [파이썬으로익스플로어제어] * 신재동도 참고 했잖아... :) * 도움 많이 되었습니다~ 조언해주셔서 정말 감사드립니다. :) -- 재선 * [신재동]의 ppt 자료 조언 ---- [데블스캠프2005], [데블스캠프2005/화요일]