Download presentation
Presentation is loading. Please wait.
Published by신양 수 Modified 8년 전
1
Python RaspberryPi Sejin Oh
2
Raspberry Pi Python 파이썬이란 무엇인가 ? 파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다. 파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록 해주는 언어이다. 컴퓨터식 사고 방식으로 프로그래밍을 하려고 애쓸 필요가 없다. 파이썬으로 시스템 프로그래밍, 하드웨어 제어, 매우 복잡하고 많은 반복 연산 등은 파이썬으로 개발할 수 있다. 파이썬은 오픈소스이므로 당연히 무료이다. 언제 어디서든 파이썬 패 키지를 다운로드해 쓸 수 있고, 사용료를 지불해야 할 필요가 없다. 2
3
Raspberry Pi Python 파이썬으로 할 수 있는 일 시스템 유틸리티 파이썬은 운영체제 ( 윈도우, 리눅스 등 ) 의 시스템 명령어를 이용할 수 있 기 때문에 시스템 관련 유틸리티를 만드는데 유리하다. GUI(Graphic User Interface) 프로그램 C/C++ 과 의 결합 파이썬은 접착 (glue) 언어라고도 불리운다. 그 이유는 C 로 만든 프로그램 을 파이썬에서 쓸 수 있으며, 파이썬으로 만든 프로그램을 C 에서 역시 쓸 수 있다. CGI 프로그래밍 웹 브라우저를 사용하는 사용자가 서버 프로그램 ( 게시판, 방명록 등 ) 을 이용할 수 있게 해주는 도구 수치연산 프로그램 데이터베이스 프로그래밍 3
4
Raspberry Pi Python 파이썬 다운로드 http://www.python.org > Downloads http://www.python.org 4 파이썬 설치
5
Raspberry Pi Python Python 은 대화형 인터프린터 언어 5 대화형 인터프린터 언어
6
Raspberry Pi Python a 에 1 을 b 에 2 를 대입한 다음 a 와 b 를 더하면 3 이란 결과값을 보여준다. a 라는 변수에 “python” 이라는 값을 대입한 다음 print a 를 해주면 a 의 값을 출력해 준다. 6
7
Raspberry Pi Python 조건문 if 변수 a 에 3 을 대입하고 a 가 1 보다 크면 “a > 1” 을 출력 If 문에 대한 자세한 사항은 뒤편에서 다룸 7
8
Raspberry Pi Python 반복문 for For 를 이용해서 [1, 2, 3] 안의 값들을 하나씩 출력 for 문에 대한 자세한 사항은 뒤편에서 다룸 8
9
Raspberry Pi Python 반복문 while while 문에 대한 자세한 사항은 뒤편에서 다룸 9
10
Raspberry Pi Python 함수 정의 def 는 함수를 만들때 사용되는 명령어이다. 10
11
Raspberry Pi Python 자료형 자료형이란 프로그래밍을 할때 쓰이는 숫자, 문자열 등의 자료 형태 로 저장되는 그 모든 것을 뜻한다. 숫자형 (Number) 문자열 (String) 리스트 (List) 튜플 (Tuple) 사전 (Dictionary) 참과 거짓 변수 11 자료형
12
Raspberry Pi Python 정수형 (Integer) 양의 정수와 음의 정수, 숫자 0 을 대입하는 예제 12 숫자형
13
Raspberry Pi Python 소수점이 포함된 것 (Floating-point) 13 숫자형
14
Raspberry Pi Python 2 진수, 8 진수, 16 진수 a = 0b10 b = 0o10 c = 0x10 14 숫자형
15
Raspberry Pi Python 문자열 합치기 문자열 곱하기 15 문자열
16
Raspberry Pi Python 문자열 곱하기 16 문자열
17
Raspberry Pi Python 인덱싱 (indexing) 0 부터 시작 a[0]: ‘l’, a[1]: ‘i’, a[2]: ‘f’, a[3]: ‘e’, a[4]: ‘ ‘, a[5]: ‘i’, ……. a[-5] 는 문자열을 뒤에서 부터 읽어온다. 17 문자열
18
Raspberry Pi Python 슬라이싱 (Slicing) A[0:6] 가 뜻하는 것은 a 라는 문자열에서 0 부터 6-1 까지의 문자를 뽑아 낸 다는 뜻 항상 시작 번호가 0 일 필요는 없다. 18 문자열
19
Raspberry Pi Python 슬라이싱 (Slicing) a[ 시작번호 : 끝번호 ] 에서 끝 번호를 생략하면 시작번호 부터 그 문자 열의 끝 -1 까지 출력 a[ 시작번호 : 끝번호 ] 에서 시작번호를 생략하면 그 문자열의 처음부 터 끝번호 -1 까지 출력 19 문자열
20
Raspberry Pi Python 문자열 포매팅 문자열 내에 어떤 값을 삽입하는 방법 숫자 / 문자 / 변수 대입 20 문자열 포매팅 (Formatting) “ 현재 온도는 18 도 입니다.” “ 현재 온도는 20 도 입니다.” >>> print “I eat %d apples.” % 3 I eat 3 apples >>> print “I eat %s apples.” % “five” I eat five apples
21
Raspberry Pi Python 문자열 포맷 코드 21 문자열 포매팅 (Formatting)
22
Raspberry Pi Python 소문자를 대문자로 바꾸기 (upper) 대문자를 소문자로 바꾸기 (lower) 문자 개수 세기 (count) 22 문자열 >>> a = “hi” >>> a.upper() “HI” >>> a = “HI” >>> a.lower() “hi” >>> a = “hobby” >>> a.count(‘b’) 2
23
Raspberry Pi Python 위치 알려주기 1(find) 위치 알려주기 2(index) 문자열 삽입 (join) 23 문자열 >>> a = “Python is best choice” >>> a.find(‘b’) 10 >>> a = “Life is too short” >>> a.index(‘t’) 8 >>> a = “,” >>> a.join(‘abcd’) ‘a,b,c,d’ 찾는 문자나 문자열이 존재하지 않는다면 -1 을 반환 찾는 문자나 문자열이 존재하지 않는다면 에러발생
24
Raspberry Pi Python 왼쪽 공백 지우기 (lstrip) 오른쪽 공백 지우기 양쪽 공백 지우기 (strip) 24 문자열 >>> a = “ hi” >>> a.lstrip() ‘hi’ >>> a = “hi “ >>> a.rstrip() ‘hi’ >>> a = “ hi “ >>> a.strip() ‘hi’
25
Raspberry Pi Python 문자열 바꾸기 (replace) 대문자와 소문자를 서로 바꾸기 25 문자열 >>> a = “Life is too short” >>> a.replace(“Life”, “Your leg”) ‘Your leg is too short’ >>> a = “Hi man” >>> a.swapcase() ‘hI MAN’
26
Raspberry Pi Python 리스트를 이용하여 숫자 / 문자들의 모임을 간단하게 표현 리스트를 만들때는 대괄호 ([, ]) 로 감싸주고 안에 들어갈 값들은 쉼표로 구분해 준다. A 리스트 : 아무 것도 포함하지 않는 빈 리스트 B 리스트 : 숫자를 그 요소 값으로 가지는 리스트 C 리스트 : 문자열을 요소 값으로 가지는 리스트 D 리스트 : 숫자와 문자열을 함께 요소 값으로 가지는 리스트 E 리스트 : 리스트 차체를 요소 값으로 가지는 리스트 리스트 내에는 어떠한 자료형도 포함시킬 수 있다. 26 리스트
27
Raspberry Pi Python 리스트의 인덱싱과 슬라이싱 리스트의 경우에도 문자열처럼 인덱싱과 슬라이싱이 가능하다. 27 리스트 >>> a = [1, 2, 3] >>> a [1, 2, 3] >>> a[0] 1 >>> a[0] + a[2] 4 >>> a[-1] 3 >>> a = [1, 2, 3, [‘a’, ‘b’, ‘c’]] >>> a[0] 1 >>> a[-1] [‘a’, ‘b’, ‘c’] >>> a[3] [‘a’, ‘b’, ‘c’] >>> a[-1][0] ‘a’ >> a[-1][1] ‘b’
28
Raspberry Pi Python 리스트의 인덱싱과 슬라이싱 리스트의 경우에도 문자열처럼 인덱싱과 슬라이싱이 가능하다. 28 리스트 >>> a = [1, 2, 3, 4, 5] >>> a[0:2] [1, 2] >>> a = [1, 2, 3, 4, 5] >>> b = a[:2] >>> c = a[2:] >>> b [1, 2] >>> c [3, 4, 5]
29
Raspberry Pi Python 리스트의 합치기와 반복, 수정 29 리스트 >>> 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] 리스트 합치기리스트 반복 >>> a = [1, 2, 3] >>> a [2] = 4 >>> a [1, 2, 4] 리스트 수정 1 >>> a = [1, 2, 3] >>> a[1:2] [2] >>> a[1:2] = [‘a’, ‘b’, ‘c’] >>> a [1, ‘a’, ‘b’, ‘c’, 4] 리스트 수정 2
30
Raspberry Pi Python 리스트의 요소 삭제 30 리스트 >>> a = [1, ‘a’, ‘b’, ‘c’, 4] >>> a[1:3] = [] >>> a [1, ‘c’, 4] >>> del a[1] >>> a [1, 4] 리스트 요소 삭제
31
Raspberry Pi Python del 객체 del a[x] 는 x 번째 요소 값을 삭제한다. del 함수는 파이썬에서 자체적으로 가지고 있는 내장 함수이다. 객체 : 파이썬에서 사용되는 모든 자료형을 뜻함 31 리스트 del 객체
32
Raspberry Pi Python 리스트에 요소 추가 (append) append(x) 는 리스트의 맨 마지막에 x 를 추가 32 리스트 >>> a = [1, 2, 3] >>> a.append(4) >>> a [1, 2, 3, 4] >>> a.append([5, 6]) >>> a [1, 2, 3, 4, [5, 6]]
33
Raspberry Pi Python 리스트 정렬 (sort) sort 함수는 리스트의 요소를 순서대로 정렬하여 값을 돌려준다. 숫자가 가장 앞에 오게된다. 문자열은 첫 글자끼리 비교하여 정렬한다. 33 리스트 >>> a = [1, 4, 3, 2] >>> a.sort() >>> a [1, 2, 3, 4] >>> a = [‘a’, ‘c’, ‘b’] >>> a.sort() >>> a [‘a’, ‘b’, ‘c’] >>> a = [‘abc’, 123, ‘you need python’] >>> a.sort() >>> a [123, ‘abc’, ‘you need python’]
34
Raspberry Pi Python 리스트 뒤집기 (reverse) Reverse 함수는 리스트를 역순으로 뒤집어준다. 순서대로 정렬한다음 역순으로 정렬하는 것은 아니다. 리스트 그대로를 뒤집는 일을 할 뿐이다. 위치 반환 (index) Index(x) 함수는 리스트 x 라는 값이 있으면 그 위치를 돌려준다. 34 리스트 >>> a = [‘a’, ‘c’, ‘b’] >>> a.reverse() >>> a [‘b’, ‘c’, ‘a’] >>> a = [1, 2, 3] >>> a.index(3) 2 >>> a.index(1) 0
35
Raspberry Pi Python 리스트에 요소 삽입 (insert) Insert(a, b) 는 리스트의 a 번째 위치에 b 를 삽입하는 함수 리스트 요소 제거 (remove) remove(x) 는 첫번째 나오는 x 를 삭제하는 함수 35 리스트 >>> a = [1, 2, 3] >>> a.insert(0, 4) [4, 1, 2, 3] >>> a = [1, 2, 3, 1, 2, 3] >>> a.remove(3) [1, 2, 1, 2, 3]
36
Raspberry Pi Python 리스트 관련 함수 36 리스트 함수설명 a.append(x) 리스트 a 의 마지막에 x 추가 a.sort() 리스트 a 를 정렬 a.reverse() 리스트 a 의 순서를 거꾸로 만든다 a.index(x) 리스트 a 에서 x 를 찾아서 그 위치를 반환 a.insert(i, x) 리스트 a 에서 i 위치에 x 삽입 a.remove(x) 리스트 a 에서 처음 나오는 x 삭제 a.pop() 리스트 a 의 맨 마지막 요소 반환하고 마지막 요소 삭제 a.count(x) 리스트 a 안에 x 가 몇 개 있는지를 반환 a.extend(x) 리스트 a 에 리스트 x 를 더함 ( 확장 )
37
Raspberry Pi Python 튜플 (tuple) 튜플은 리스트와 몇가지를 제외하고 거의 동일하다. 리스트는 ‘[‘ 와 ‘]’ 으로 둘러싸지만 튜플은 ‘(‘ 과 ‘)’ 로 둘러싼다. 리스트는 값을 생성, 삭제, 수정이 가능하지만 튜플은 변경이 불가능 하다.( 상수와 유사함 ) 한 개의 요소만을 같은 튜플은 t2 = (1, ) 처럼 콤마를 넣어야한다. 괄호 생략 가능 리스트처럼 인덱싱, 슬라이싱, 더하기, 반복 ( 곱 ) 가능 37 튜플 >>> t1 = () >>> t2 = (1, ) >>> t3 = (1, 2, 3) >>> t4 = 1, 2, 3 >>> t5 = (‘a’, ‘b’, (‘ab’, ‘cd’))
38
Raspberry Pi Python 사전 (dictionary) ‘ 사람 ’ 을 예로 들면 누구든지 “ 이름 ” = “ 홍길동 ”, “ 생일 ” = “ 몇 월 몇 일 ” 등으로 구분할 수 있다. 이러한 대응관계를 자료형으로 만든 것을 말 한다. 위와 같은 자료형을 Associative array, Hash 라고도 불린다. 딕셔너리란 단어 그대로 해석하면 사전이란 뜻이다. 즉, people 이란 단어에 ‘ 사람 ’, baseball 이라는 단어에 ‘ 야구 ’ 라는 뜻이 부합되듯이 딕 셔너리는 Key 와 Value 라는 것을 한 쌍으로 갖는 자료형이다. 위의 예 에서 보면 Key 가 'baseball' 이라면 Value 는 ' 야구 ' 가 될 것이다. 38 사전
39
Raspberry Pi Python 사전 (dictionary) 아래의 key 는 각각 ‘name’, ‘phone’, ‘birth’ 이고 그에 해당하는 value 는 ‘pey’, ‘0119993323’, ‘1118’ 이 된다. 39 사전 >>> dic = {‘name’:’pey’, ‘phone’:’01199993323’, ‘birth’:’1118’ keyvalue namepey phone01199993323 birth1118 사전 dic 의 정보
40
Raspberry Pi Python key 를 이용하여 value 얻기 40 사전 >>> grade = {‘pey’:10, ‘julliet’:99} >>> grade[‘pey’] 10 >>> grade[‘julliet’] 99 >>> dic = {‘name’:’pey’, ‘phone’:’01199993323’, ‘birth’:’1118’} >>> dic[‘name’] ‘pey’ >>> dic[‘phone’] ‘01199993323’ >>> dic[‘birth’] ‘1118’
41
Raspberry Pi Python 사전 쌍 추가, 삭제하기 사전은 순서를 따지지 않는다. 중요한 점은 무엇이 추가 되었는가이 다. 41 사전 >>> a = {1:’a’} >>> a[2] = ‘b’ >>> a {1:’a’, 2:’b’} >>> a[‘name’] = ‘pey’ >>> a {1:’a’, 2:’b’, ‘name’:’pey’} >>> del a[‘name’] >>> a {1:’a’, 2:’b’}
42
Raspberry Pi Python 사전 주의사항 Key 는 고유한 값이므로 중복되는 값을 설정해 놓으면 하나를 제외한 나머지는 무시된다. 그러므로 중복되는 key 를 사용하지 말 것 Key 에 리스트를 사용할 수 없다. Key 자리에 리스트를 사용하면 에러발생 42 사전 >>> a = {1:’a’, 1:’b’} >>> a {1:‘b’}
43
Raspberry Pi Python Key 리스트 만들기 (keys) a.keys() 는 딕셔너리 a 의 Key 만을 모아서 리스트로 만든다. Value 리스트 만들기 (values) 마찬가지 방법으로 value 만을 얻고 싶다면 a.values() 처럼 values 함 수를 사용하면 된다. 43 사전 관련함수 >>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'} >>> a.keys() ['birth', 'name', 'phone'] >>> a.values() ['1118', 'pey', '0119993323']
44
Raspberry Pi Python Key, Value 쌍 얻기 (items) items 함수는 key 와 value 의 쌍을 터플로 묶은 값을 리스트로 돌려준 다. Key: Value 쌍 모두 지우기 (clear) clear() 함수는 딕셔너리 안의 모든 요소를 삭제한다. 44 사전 관련함수 >>> a.items() [('birth', '1118'), ('name', 'pey'), ('phone', '011993323')] >>> a.clear() >>> a {}
45
Raspberry Pi Python Key, Value 얻기 (get) get(x) 함수는 x 라는 key 에 대응되는 value 를 돌려준다. 해당 Key 가 있는지 조사 (has_key) a.has_key(x) 함수는 딕셔너리 a 에 x 라는 key 가 존재하는지의 참, 거 짓을 판단하여 존재하면 1 을 존재하지 않는다면 0 을 반환한다. 45 사전 관련함수 >>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} >>> a.get('name') 'pey' >>> a.get('phone') '0119993323' >>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'} >>> a.has_key('name') True >>> a.has_key('email') False
46
Raspberry Pi Python 사전 관련함수 46 사전 관련함수 함수설명 a.Keys() 딕셔너리 a 의 Key 들을 모아놓은 리스트를 돌려준다. a.values() 딕셔너리 a 의 Value 들을 모아놓은 리스트를 돌려준다. a.items() 딕셔너리 a 의 (Key, Value) 쌍의 터플을 모아놓은 리스트를 돌려준다. a.clear() 딕셔너리 a 의 모든 Key:Value 쌍들을 삭제한다. a.get(x) 딕셔너리 a 의 Key 가 x 인 것의 Value 를 돌려준다. a.has_key(x) 딕셔너리 a 에 x 라는 Key 가 있는지 조사하여 참, 거짓을 돌려준다.
Similar presentations