Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python RaspberryPi Sejin Oh. Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓.

Similar presentations


Presentation on theme: "Python RaspberryPi Sejin Oh. Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓."— Presentation transcript:

1 Python RaspberryPi Sejin Oh

2 Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓 [] 가 아닌 리스트 ( 예 : [1, 2, 3] 참 [] 거짓 () 거짓 {} 거짓 0 이 아닌 숫자 ( 예 : 1) 참 0 거짓 None 거짓

3 Raspberry Pi Python  참과 거짓 사용 예 3 참과 거짓 >>> a = [1,2,3,4] >>> while a:... a.pop()... 4 3 2 1

4 Raspberry Pi Python  변수  변수는 객체를 가리키는 것이다. 객체란 우리가 지금껏 보아왔던 자 료형을 포함한 파이썬에서 사용되는 그 모든 것을 말하는 말이다.  변수 없애기 4 변수 >>> a = 3 >>> b = 3 >>> a is b True >>> a = 3 >>> b = 3 >>> del(a) >>> del(b) a 와 b 가 3 이란 객체를 가리킨다 call by reference

5 Raspberry Pi Python  변수를 만드는 여러 가지 방법  여러 개의 변수에 같은 값을 대입할 수 있다. 5 변수 >>> a, b = 'python', 'life' >>> a = b = 'python' >>> a = 3 >>> b = 5 >>> a, b = b, a >>> a 5 >>> b 3

6 Raspberry Pi Python  리스트 복사  변수는 값을 가지는 것이 아니라 가르킨다.  Call by value 는 [ : ] 또는 copy 모듈을 이용하면 된다. 6 변수 >>> a = [1,2,3] >>> b = a >>> a[1] = 4 >>> a [1, 4, 3] >>> b [1, 4, 3] >>> a = [1, 2, 3] >>> b = a[:] >>> a [1, 2, 3] >>> b [1, 2, 3] >>> a[1] = 4 >>> a [1, 4, 3] >>> b [1, 2, 3] call by reference call by value >>> from copy import copy >>> b = copy(a) >>> b is a False call by value

7 Raspberry Pi Python  If 문  조건을 판단하여 해당 조건에 맞는 상황을 수행하는데 쓰이는 것이 if 문이다.  파이썬은 다른 언어처럼 if 문의 그룹을 묶는 ‘{‘ 와 ‘}’ 를 쓰지 않는다.  ‘{‘, 와 ’}’ 대신에 들여쓰기 (space 공백 ) 으로 처리한다. 7 제어문 – if 문 >>> money = 1 >>> if money:... print " 택시를 타고 가라 "... else:... print " 걸어가라 "... 택시를 타고 가라 if :... else:...

8 Raspberry Pi Python  들여쓰기  if 문을 만들 때는 다음 처럼 if : 다음의 문장부터 if 문에 속하 는 모든 문장들에 들여쓰기를 해 주어야 한다.  에러의 예 8 제어문 – if 문 if : 에러 발생

9 Raspberry Pi Python  비교 연산자 9 제어문 – if 문 >>> x = 3 >>> y = 2 >>> x > y True >>>

10 Raspberry Pi Python  and, or, not 10 제어문 – if 문 >>> money = 2000 >>> watch = 1 >>> if money >= 3000 or watch:... print " 택시를 타고 가라 "... else:... print " 걸어가라 "... 택시를 타고 가라 >>>

11 Raspberry Pi Python  x in s, x not in s  x in 리스트, x not in 리스트  x in 튜플, x not in 튜플  x in 문자열, x not in 문자열 11 제어문 – if 문 >>> 1 in [1, 2, 3] True >>> 1 not in [1, 2, 3] False >>> 'a' in ('a', 'b', 'c') True >>> 'j' not in 'python' True >>> pocket = ['paper', 'handphone', 'money'] >>> if 'money' in pocket:... print " 택시를 타고 가라 "... else:... print " 걸어가라 "... 택시를 타고 가라 >>>

12 Raspberry Pi Python  elif ( 다중 조건 판단 )  C, Java 등의 else if 와 같음  Python 은 elif (elseif 아님 ) 12 제어문 – if 문 >>> pocket = ['paper', 'handphone'] >>> watch = 1 >>> if 'money' in pocket:... print " 택시를 타고가라 "... elif watch:... print " 택시를 타고가라 "... else:... print " 걸어가라 "... 택시를 타고가라 If :... elif :... elif :... else:...

13 Raspberry Pi Python  pass 의 사용  가끔 조건문을 판단하고 참 거짓에 따라 행동을 정의 할 때 아무런 일 도 하지 않게끔 설정 13 제어문 – if 문 >>> pocket = ['paper', 'money', 'handphone'] >>> if 'money' in pocket:... pass... else:... print " 시계를 끌른다 "...

14 Raspberry Pi Python  While 문  반복해서 문장을 수행해야 할 경우 while 문을 사용한다. 14 제어문 – while 문 >>> treeHit = 0 >>> while treeHit < 10:... treeHit = treeHit +1... print " 나무를 %d 번 찍었습니다." % treeHit... if treeHit == 10:... print " 나무 넘어갑니다."... 나무를 1 번 찍었습니다. 나무를 2 번 찍었습니다. 나무를 3 번 찍었습니다. 나무를 4 번 찍었습니다. 나무를 5 번 찍었습니다. 나무를 6 번 찍었습니다. 나무를 7 번 찍었습니다. 나무를 8 번 찍었습니다. 나무를 9 번 찍었습니다. 나무를 10 번 찍었습니다. 나무 넘어갑니다. while :...

15 Raspberry Pi Python  무한루프 (loop)  Ctrl-c 로 while 문을 빠져나옴  Break 로 빠져 나올수 있음  “”” 는 개행하여 문자열 작성시 사용 15 제어문 – while 문 >>> prompt = """... 1. Add... 2. Del... 3. List... 4. Quit...... Enter number: """ >>> >>> number = 0 >>> while number != 4:... print prompt... number = int(raw_input())... 1. Add 2. Del 3. List 4. Quit Enter number:

16 Raspberry Pi Python  무한루프 (loop)  Ctrl-c 로 while 문을 빠져나옴  Break 로 빠져 나올수 있음 16 제어문 – while 문 >>> coffee = 10 >>> money = 300 >>> while money:... print " 돈을 받았으니 커피를 줍니다."... coffee = coffee -1... print " 남은 커피의 양은 %d 입니다." % coffee... if not coffee:... print " 커피가 다 떨어졌습니다. 판매를 중지합니다."... break...

17 Raspberry Pi Python  While 문 처음으로 되돌아가기 (continue)  while 문 안의 문장을 수행할 때 어떤 조건을 검사해서 다시 while 문의 맨 처음으로 돌아가게 하고 싶을 경우 17 제어문 – while 문 >>> a = 0 >>> while a < 10:... a = a+1... if a % 2 == 0: continue... print a... 1 3 5 7 9

18 Raspberry Pi Python  For 문의 기본 구조  리스트의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입해서,,,, 를 수행한다. 18 제어문 – for 문 for 변수 in 리스트 ( 또는 터플, 문자열 ):... >>> test_list = ['one', 'two', 'three'] >>> for i in test_list:... print i... one two three

19 Raspberry Pi Python  For 문 예제  점수 리스트인 marks 에서 차례로 점수를 꺼내어 mark 라는 변수에 대 입하고 for 안의 문장들을 수행하게 된다.  for 문이 한번씩 수행될 때마다 number 는 1 씩 증가하고 mark 가 60 이 상이면 합격 메시지를 출력하고 60 을 넘지 않으면 불합격 메시지를 출력한다. 19 제어문 – for 문 # marks1.py marks = [90, 25, 67, 45, 80] number = 0 for mark in marks: number = number +1 if mark >= 60: print "%d 번 학생은 합격입니다." % number else: print "%d 번 학생은 불합격입니다." % number

20 Raspberry Pi Python  For 와 range 함수  for 문은 range 라는 숫자 리스트를 자동으로 만들어 주는 함수와 함께 사용되는 경우가 많다. 다음은 range 함수의 간단한 사용법이다.  range(10) 은 0 부터 9 까지의 숫자 리스트를 만들어 준다.  range 에 시작번호와 끝 번호 ( 끝번호 -1 까지 ) 를 지정할 수 있다. 20 제어문 – for 문 >>> a = range(10) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a = range(1, 11) >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

21 Raspberry Pi Python  For 와 range 를 이용한 1 부터 10 까지의 합  range(1, 11) 은 위에서 보았듯이 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 이라는 리 스트를 만들어 준다.  i 변수에 리스트의 숫자들이 하나씩 차례로 대입되면서 sum = sum + i 라는 문장을 수행하게 되어 sum 은 최종적으로 55 가 되게 된다. 21 제어문 – for 문 >>> sum = 0 >>> for i in range(1, 11):... sum = sum + i... >>> print sum 55

22 Raspberry Pi Python  다양한 for 문의 사용  a 리스트의 요소 값이 튜플이기 때문에 각각의 요소들이 자동으로 (first, last) 라는 변수에 대입되게 된다. 22 제어문 – for 문 >>> a = [(1,2), (3,4), (5,6)] >>> for (first, last) in a:... print first + last... 3 7 11

23 Raspberry Pi Python  for 와 range 를 이용한 구구단  콤마 (,) 연산자 – 줄을 개행하지 않고 구분 ( 띄어쓰기 ) 할 때 사용 23 제어문 – for 문 >>> for i in range(2,10):... for j in range(1, 10):... print i*j,... print '\n'... 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81

24 Raspberry Pi Python  파이썬의 함수의 구조 24 함수

25 Raspberry Pi Python  함수 정의 예제 25 함수 >>> def sum_many(*args):... sum = 0... for i in args:... sum = sum + i... return sum... >>> sum_many(1, 2, 3) 6 >>> sum_many(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 55 def 함수이름 (* 입력변수 ):... 함수의 입력 값이 몇 개인지 모를 때 * 입력변수로 표현하여 사용

26 Raspberry Pi Python  입력과 출력  사용자 입력 어떤 변수에 사용자로부터 입력 받은 값을 대입하고 싶을 때 input 또는 raw_input 함수를 사용 문자열을 입력받을 때에는 ‘ 또는 “ 으로 둘러싸서 입력해야한다. 26 입력과 출력 >>> a = input() 'Life is too short, you need python' >>> a Life is too short, you need python >>> a = input() 3 >>> a 3 >>>

27 Raspberry Pi Python  입력과 출력  사용자 입력 raw_input 함수는 문자열 입력받을 때 ‘ 나 “ 를 필요하지 않는다.  raw_input 과 input 의 차이점 input 은 문자열 입력시 ‘ 또는 “ 로 감싸주어야한다. raw_input 은 모든 값을 문자열형으로 취급한다. 정수를 입력해도 문자열 값으로 변환된다. 27 입력과 출력 >>> a = raw_input() Life is too short, you need python >>> a Life is too short, you need python >>>

28 Raspberry Pi Python  입력과 출력  프롬프트 추가하기 사용자로부터 입력을 받을 때 “ 숫자를 입력하세요.” 라던지 “ 이름을 입력 하세요 ” 라는 질문을 포함하고 싶을 것이다. input 이나 raw_input 이라는 함수에 입력으로 프롬프트를 포함시킬 수가 있다. 28 입력과 출력 >>> number = raw_input("input number: “) input number: >>> number = input(“input number: “) input number:

29 Raspberry Pi Python  파일 생성하기  file1.py 파일에 아래와 같이 python 코드 작성 쓰기 모드는 해당 파일이 존재하면 열고 존재하지 않으면 파일을 생성  Open 함수의 구성 추가 모드는 파일의 마지막에 새로운 내용을 추가 29 파일 읽고 쓰기 f = open(“filename.txt", 'w') f.close() 파일객체 = open( 파일이름, 파일열기모드 ) 파일열기모드설명 r 읽기 모드 w 쓰기 모드 a 추가 모드

30 Raspberry Pi Python  파일 쓰기 예제 – file.py 30 파일 읽고 쓰기 f = open(“newfile.txt", 'w') for i in range(1, 11): data = "%d line\n" % i f.write(data) f.close() $ cat newfile.txt 1 line 2 line 3 line 4 line 5 line 6 line 7 line 8 line 9 line 10 line

31 Raspberry Pi Python  파일 읽기  파일 읽기 함수 readline() – 파일의 첫번째 라인만 읽어온다. readlines() – 파일의 모든 라인을 읽어 각각의 줄을 요소로 갖는 리스트로 반환 read() – 파일을 전부 읽은 문자열을 돌려준다. 31 파일 읽고 쓰기

32 Raspberry Pi Python  파일 읽기 예제 – readline.py  파일 읽기 예제 – readline2.py 32 파일 읽고 쓰기 f = open(“newfile.txt", 'r') line = f.readline() print line f.close() f = open("newfile.txt", 'r') while 1: line = f.readline() if not line: break print line f.close() $ python readline.py 1 line 첫 번째 라인만 읽음 $ cat newfile.txt 1 line 2 line 3 line 4 line 5 line 6 line 7 line 8 line 9 line 10 line 루프를 돌면서 한 줄씩 읽음

33 Raspberry Pi Python  파일 읽기 예제 – readlines.py  파일 읽기 예제 – read.py 33 파일 읽고 쓰기 f = open(“newfile.txt", 'r') lines = f.readlines() for line in lines: print line f.close() f = open("newfile.txt", 'r') data = f.read() print data f.close() $ python readlines.py 1 line 2 line 3 line 4 line 5 line 6 line 7 line 8 line 9 line 10 line readlines() $ python readlines.py 1 line 2 line 3 line 4 line 5 line 6 line 7 line 8 line 9 line 10 line read()

34 Raspberry Pi Python  파일에 새로운 내용 추가하기 – add.py  파일을 추가 모드 (‘a’) 로 열어 사용 34 파일 읽고 쓰기 f = open(“newfile.txt",'a') for i in range(11, 20): data = "%d line\n" % i f.write(data) f.close() $ cat newfile.txt 1 line 2 line 3 line 4 line 5 line 6 line 7 line 8 line 9 line 10 line 11 line 12 line 13 line 14 line 15 line 16 line 17 line 18 line 19 line

35 Raspberry Pi Python  클래스 (class)  객체 지향 언어에서는 프로그램의 기본 단위가 객체이다. 객체는 “ 속 성과 기능으로 구성되어 있다.  객체는 클래스로 생성되며 클래스도 “ 속성과 기능 ” 으로 구성되어 있 다.  속성과 기능은 변수나 함수들을 모아 놓은 집합체와 같다. 35 클래스 >>> class Service:... secret = " 영구는 배꼽이 두 개다 "... def sum(self, a, b):... result = a + b... print "%s + %s = %s 입니다." % (a, b, result)... >>> pey = Service() >>> pey.sum(1., 1) 1 + 1 = 2 입니다. 속성 기능


Download ppt "Python RaspberryPi Sejin Oh. Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓."

Similar presentations


Ads by Google