02 장파이썬프로그래밍의 기초, 자료형 자료형을알고있다면그언어의절반을터득한것
02-1 숫자형 정수형 (1, 2, -2) 실수 (1.24, -34.56) 컴퓨터식지수표현방식 (4.24e10, 4.24e-10) 복소수 (1+2j) 8진수 (0o37) 16진수 (0x7A) 2
02-1 숫자형 사칙연산 >>> a = 3 >>> b = 4 >>> a + b 7 >>> a * b 12 >>> a / b 0.75 3
02-1 숫자형 제곱 >>> a = 3 >>> b = 4 >>> a ** b 81 % 연산자 >>> 7 % 3 1 >>> 3 % 7 3 4
02-1 숫자형 // 연산자 >>> 7 / 4 1.75 >>> 7 // 4 1 5
02-2 문자열자료형 문자열자료형만드는 4 가지방법 "Hello World" 'Python is fun' """Life is too short, You need python""" '''Life is too short, You need python''' 6
02-2 문자열자료형 문자열에따옴표포함시키기 >>> food = "Python's favorite food is perl" >>> say = '"Python is very easy." he says.' >>> food = 'Python\'s favorite food is perl' >>> say = "\"Python is very easy.\" he says." 7
02-2 문자열자료형 여러줄로이루어진문자열 >>> multiline = "Life is too short\nyou need python" >>> multiline='''... Life is too short... You need python... ''' 8
02-2 문자열자료형 문자열더해서연결하기 (Concatenation) >>> head = "Python" >>> tail = " is fun!" >>> head + tail 'Python is fun!' 문자열곱하기 >>> a = "python" >>> a * 2 'pythonpython' 9
02-2 문자열자료형 인덱싱 (Indexing) >>> a = "Life is too short, You need Python" >>> a[0] 'L' >>> a[12] 's' >>> a[-1] 'n' 파이썬은 0 부터숫자를센다 10
02-2 문자열자료형 슬라이싱 (Slicing) >>> a = "Life is too short, You need Python" >>> a[0:4] 'Life' >>> a = "20010331Rainy" >>> date = a[:8] >>> weather = a[8:] >>> date '20010331' >>> weather 'Rainy' 11
02-2 문자열자료형 문자열포매팅 >>> "I eat %d apples." % 3 'I eat 3 apples.' >>> number = 10 >>> day = "three" >>> "I ate %d apples. so I was sick for %s days." % (number, day) 'I ate 10 apples. so I was sick for three days.' 12
02-2 문자열자료형 정렬과공백 >>> "%10s" % "hi" ' hi' >>> "%-10sjane." % 'hi' 'hi jane.' 소수점표현 >>> "%0.4f" % 3.42134234 '3.4213' >>> "%10.4f" % 3.42134234 ' 3.4213' 13
02-2 문자열자료형 문자열개수세기 (count) >>> a = "hobby" >>> a.count('b') 2 위치알려주기 1(find) >>> a = "Python is best choice" >>> a.find('b') 10 >>> a.find('k') -1 14
02-2 문자열자료형 위치알려주기 2(index) >>> a = "Life is too short" >>> a.index('t') 8 >>> a.index('k') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found 15
02-2 문자열자료형 문자열삽입 ( join) >>> a= "," >>> a.join('abcd') 'a,b,c,d' 소문자를대문자로바꾸기 (upper) >>> a = "hi" >>> a.upper() 'HI' 16
02-2 문자열자료형 대문자를소문자로바꾸기 (lower) >>> a = "HI" >>> a.lower() 'hi' 양쪽공백지우기 (strip) >>> a = " hi " >>> a.strip() 'hi' 17
02-2 문자열자료형 문자열바꾸기 (replace) >>> a = "Life is too short" >>> a.replace("life", "Your leg") 'Your leg is too short' 문자열나누기 (split) >>> a = "Life is too short" >>> a.split() ['Life', 'is', 'too', 'short'] >>> a = "a:b:c:d" >>> a.split(':') ['a', 'b', 'c', 'd'] 18
02-3 리스트자료형 1, 3, 5, 7, 9 라는숫자모음 >>> odd = [1, 3, 5, 7, 9] 리스트명 = [ 요소 1, 요소 2, 요소 3,...] >>> a = [ ] >>> b = [1, 2, 3] >>> c = ['Life', 'is', 'too', 'short'] >>> d = [1, 2, 'Life', 'is'] >>> e = [1, 2, ['Life', 'is']] 19
02-3 리스트자료형 리스트의인덱싱 >>> a = [1, 2, 3] >>> a[0] 1 >>> a[0] + a[2] 4 >>> a[-1] 3 20
02-3 리스트자료형 리스트의슬라이싱 >>> a = [1, 2, 3, 4, 5] >>> a[0:2] [1, 2] >>> b = a[:2] >>> c = a[2:] >>> b [1, 2] >>> c [3, 4, 5] 21
02-3 리스트자료형 리스트더하기 >>> a = [1, 2, 3] >>> b = [4, 5, 6] >>> a + b [1, 2, 3, 4, 5, 6] 리스트반복하기 >>> a = [1, 2, 3] >>> a * 3 [1, 2, 3, 1, 2, 3, 1, 2, 3] 22
02-3 리스트자료형 리스트에서하나의값수정하기 >>> a = [1, 2, 3] >>> a[2] = 4 >>> a [1, 2, 4] 리스트에서연속된범위의값수정하기 >>> a[1:2] [2] >>> a[1:2] = ['a', 'b', 'c'] >>> a [1, 'a', 'b', 'c', 4] 23
02-3 리스트자료형 [ ] 사용해리스트요소삭제하기 >>> a = [1, 'a', 'b', 'c', 4] >>> a[1:3] = [] >>> a [1, 'c', 4] del 함수사용해리스트요소삭제하기 >>> a [1, 'c', 4] >>> del a[1] >>> a [1, 4] 24
02-3 리스트자료형 리스트에요소추가 (append) >>> a = [1, 2, 3] >>> a.append(4) >>> a [1, 2, 3, 4] 리스트정렬 (sort) >>> a = [1, 4, 3, 2] >>> a.sort() >>> a [1, 2, 3, 4] 25
02-3 리스트자료형 리스트뒤집기 (reverse) >>> a = ['a', 'c', 'b'] >>> a.reverse() >>> a ['b', 'c', 'a'] 위치반환 (index) >>> a = [1,2,3] >>> a.index(3) 2 >>> a.index(1) 0 26
02-3 리스트자료형 리스트에요소삽입 (insert) >>> a = [1, 2, 3] >>> a.insert(0, 4) [4, 1, 2, 3] 리스트요소제거 (remove) >>> a = [1, 2, 3, 1, 2, 3] >>> a.remove(3) [1, 2, 1, 2, 3] 27
02-3 리스트자료형 리스트요소끄집어내기 (pop) >>> a = [1,2,3] >>> a.pop() 3 >>> a [1, 2] 리스트에포함된요소 x 의개수세기 (count) >>> a = [1,2,3,1] >>> a.count(1) 2 28
02-3 리스트자료형 리스트확장 (extend) >>> a = [1,2,3] >>> a.extend([4,5]) >>> a [1, 2, 3, 4, 5] >>> b = [6, 7] >>> a.extend(b) >>> a [1, 2, 3, 4, 5, 6, 7] 29
02-4 튜플자료형 튜플요소값삭제시오류 >>> t1 = (1, 2, 'a', 'b') >>> del t1[0] Traceback (innermost last): File "", line 1, in?del t1[0] TypeError: object doesn't support item deletion 30
02-4 튜플자료형 튜플요소값변경시오류 >>> t1 = (1, 2, 'a', 'b') >>> t1[0] = 'c' Traceback (innermost last): File "", line 1, in?t1[0] = 'c' TypeError: object doesn't support item assignment 31
02-4 튜플자료형 인덱싱 >>> t1 = (1, 2, 'a', 'b') >>> t1[0] 1 >>> t1[3] 'b' 슬라이싱 >>> t1 = (1, 2, 'a', 'b') >>> t1[1:] (2, 'a', 'b') 32
02-4 튜플자료형 더하기 >>> t2 = (3, 4) >>> t1 + t2 (1, 2, 'a', 'b', 3, 4) 곱하기 >>> t2 * 3 (3, 4, 3, 4, 3, 4) 33
02-5 딕셔너리자료형 연관배열 (Associative array) 또는해시 (Hash) 단어그대로해석하면사전이라는뜻 Key 를통해 Value 를얻는다 >>> dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} 34
02-5 딕셔너리자료형 딕셔너리쌍추가하기 >>> a = {1: 'a'} >>> a[2] = 'b' >>> a {2: 'b', 1: 'a'} 딕셔너리요소삭제하기 >>> del a[1] >>> a {'name': 'pey', 3: [1, 2, 3], 2: 'b'} 35
02-5 딕셔너리자료형 딕셔너리에서 Key 사용해 Value 얻기 >>> grade = {'pey': 10, 'julliet': 99} >>> grade['pey'] 10 >>> grade['julliet'] 99 딕셔너리만들때주의할사항 >>> a = {1:'a', 1:'b'} >>> a {1: 'b'} 36
02-5 딕셔너리자료형 Key 리스트만들기 (keys) >>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'} >>> a.keys() dict_keys(['name', 'phone', 'birth']) Value 리스트만들기 (values) >>> a.values() dict_values(['pey', '0119993323', '1118']) 37
02-5 딕셔너리자료형 Key, Value 쌍얻기 (items) >>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'} >>> a.items() dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')]) Key: Value 쌍모두지우기 (clear) >>> a.clear() >>> a {} 38
02-5 딕셔너리자료형 Key 로 Value 얻기 (get) >>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} >>> a.get('name') 'pey' >>> a.get('phone') '0119993323' 39
02-5 딕셔너리자료형 해당 Key 가딕셔너리안에있는지조사하기 (in) >>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} >>> 'name' in a True >>> 'email' in a False 40
02-6 집합자료형 집합에관련된것들을쉽게처리하기위해만들어진자료형 중복을허용하지않는다. 순서가없다 (Unordered). 41
02-6 집합자료형 집합자료형 >>> s1 = set([1,2,3]) >>> s1 {1, 2, 3} 순서가없고중복이허용되지않는다 >>> s2 = set("hello") >>> s2 {'e', 'l', 'o', 'H'} 42
02-6 집합자료형 교집합 1 >>> s1 = set([1, 2, 3, 4, 5, 6]) >>> s2 = set([4, 5, 6, 7, 8, 9]) >>> s1 & s2 {4, 5, 6} 교집합 2 >>> s1.intersection(s2) {4, 5, 6} 43
02-6 집합자료형 합집합 1 >>> s1 = set([1, 2, 3, 4, 5, 6]) >>> s2 = set([4, 5, 6, 7, 8, 9]) >>> s1 s2 {1, 2, 3, 4, 5, 6, 7, 8, 9} 합집합 2 >>> s1.union(s2) {1, 2, 3, 4, 5, 6, 7, 8, 9} 44
02-6 집합자료형 차집합 1 >>> s1 = set([1, 2, 3, 4, 5, 6]) >>> s2 = set([4, 5, 6, 7, 8, 9]) >>> s1 - s2 {1, 2, 3} >>> s2 - s1 {8, 9, 7} 차집합 2 >>> s1.difference(s2) {1, 2, 3} >>> s2.difference(s1) {8, 9, 7} 45
02-6 집합자료형 값 1 개추가하기 (add) >>> s1 = set([1, 2, 3]) >>> s1.add(4) >>> s1 {1, 2, 3, 4} 값여러개추가하기 (update) >>> s1 = set([1, 2, 3]) >>> s1.update([4, 5, 6]) >>> s1 {1, 2, 3, 4, 5, 6} 46
02-6 집합자료형 특정값제거하기 (remove) >>> s1 = set([1, 2, 3]) >>> s1.remove(2) >>> s1 {1, 3} 47
02-7 자료형의참과거짓 값 참 or 거짓 "python" 참 "" 거짓 [1, 2, 3] 참 [] 거짓 () 거짓 {} 거짓 1 참 0 거짓 None 거짓 48
02-7 자료형의참과거짓 자료형의참과거짓은어떻게사용되나? >>> a = [1, 2, 3, 4] >>> while a:... a.pop()... 4 3 2 1 49
02-8 자료형의값을저장하는 공간, 변수 다음예와같은 a, b, c 를변수라고한다. >>> a = 1 >>> b = "python" >>> c = [1,2,3] 변수를만들때는 =(assignment) 기호를사용한다. 50
02-8 자료형의값을저장하는 공간, 변수 파이썬에서사용하는변수는객체를가리키는것 >>> a = 3 3이라는값을가지는정수자료형 ( 객체 ) 이자동으로메모리에생성 변수 a는객체가저장된메모리의위치를가리키는레퍼런스 (Reference) a라는변수는 3이라는정수형객체를가리키고있다 51
02-8 자료형의값을저장하는 공간, 변수 리스트변수주의사항 >>> a = [1,2,3] >>> b = a >>> a[1] = 4 >>> a [1, 4, 3] >>> b [1, 4, 3] 52