Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python RaspberryPi Sejin Oh. Raspberry Pi Python  파이썬이란 무엇인가 ?  파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다.  파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록.

Similar presentations


Presentation on theme: "Python RaspberryPi Sejin Oh. Raspberry Pi Python  파이썬이란 무엇인가 ?  파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다.  파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록."— Presentation transcript:

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 가 있는지 조사하여 참, 거짓을 돌려준다.


Download ppt "Python RaspberryPi Sejin Oh. Raspberry Pi Python  파이썬이란 무엇인가 ?  파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다.  파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록."

Similar presentations


Ads by Google