Presentation is loading. Please wait.

Presentation is loading. Please wait.

파일 입출력과 그리기.

Similar presentations


Presentation on theme: "파일 입출력과 그리기."— Presentation transcript:

1 파일 입출력과 그리기

2 함수 def hello(): pass def 함수이름(): 코드 #↑ 들여쓰기 4칸 출력(함수 호출) 함수이름() define
빈 함수 만들기

3 def 함수이름(매개변수1, 매개변수2): 코드 함수이름(값1, 값2) 함수 호출(출력) def 함수이름(매개변수):
함수이름(값1, 값2) 함수 호출(출력) def 함수이름(매개변수): return 반환값 변수=함수이름(값,값) def 함수이름(매개변수): return 반환값1, 반환값2

4 def 함수이름(매개변수): “””독스트링””” 코드 def 함수이름(매개변수): """ 여러 줄로된 코드
참고: 함수 독스트링 사용하기 def 함수이름(매개변수):      “””독스트링”””   코드   def 함수이름(매개변수):      """     여러 줄로된      독스트링     """      코드 독스트링을 출력하려면 print(함수이름._ _doc_ _)와 같이 함수의 __doc__을 출력

5 여러가지 매개변수 2. 키워드 인수 사용하기 3.재귀 호출: 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출
1. 매개변수의 개수를 지정하지 않고 전달: 매개 변수가 튜플형으로 전달 def 함수이름(*매개변수): 코드 2. 키워드 인수 사용하기 def 함수이름(**매개변수): 코드 3.재귀 호출: 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출

6 7. from import로 모듈의 일부만 가져오기:
5.패캐지에서 모듈 가져오기: import 패키지.모듈 import 패키지.모듈1, 패키지.모듈2 import 모듈 as 새이름 6.import as로 모듈(패키지) 이름 지정하기: import 패키지.모듈 as 새이름 from 모듈 import 변수 from 모듈 import 함수 from 모듈 import 클래스 from 모듈 import 변수, 함수, 클래스 from 모듈 import * : 모두 다 가져옴 7. from import로 모듈의 일부만 가져오기:

7 8.패키지의 모듈에서 변수, 함수, 클래스를 가져오는 방법
from 패키지.모듈 import 변수 from 패키지.모듈 import 함수 from 패키지.모듈 import 클래스 from 패키지.모듈 import 변수, 함수, 클래스 from 패키지.모듈 import * 9.from import로 변수, 함수, 클래스를 가져온 뒤 새 이름을 지정 from 모듈 import 변수 as 새이름 from 모듈 import 함수 as 새이름 from 모듈 import 클래스 as 새이름

8 from import로 변수, 함수, 클래스를 가져온 뒤 새 이름을 지정
from 모듈 import 변수 as 새이름 from 모듈 import 함수 as 새이름 from 모듈 import 클래스 as 새이름 from math import sqrt as s # math 모듈에서 sqrt 함수를 가져오면서 s로 새 이름 지정 >>> s(4.0) # s로 sqrt 함수 사용 2.0 >>> s(2.0) # s로 sqrt 함수 사용

9 파일 입출력 파일객체 = open(파일이름, 파일모드) 파일객체.write(문자열) 파일객체.close()
파일 입출력의 기본 과정 파일객체 = open(파일이름, 파일모드) 파일객체.write(문자열) 파일객체.close()

10 파일객체 = open(파일이름, 파일모드) 파일객체.write(문자열) 파일객체.close()
file = open('hello.txt', 'w') # hello.txt 파일을 쓰기 모드(w)로 열기. 파일 객체 반환 file.write('Hello, world!') # 파일에 문자열 저장 file.close() # 파일 객체 닫기

11 파일 모드를 읽기 모드 'r'로 지정 file = open('hello.txt', 'r') # hello.txt 파일을 읽기 모드(r)로 열기. 파일 객체 반환 s = file.read() # 파일에서 문자열 읽기 print(s) # Hello, world! file.close() # 파일 객체 닫기

12 with as를 사용하면 파일을 사용한 뒤 자동으로 파일 객체를 닫아 줌: close 사용 안함
with open(파일이름, 파일모드) as 파일객체: 코드 with open('hello.txt', 'r') as file: # hello.txt 파일을 읽기 모드(r)로 열기 s = file.read() # 파일에서 문자열 읽기 print(s) # Hello, world!

13 문자열 여러 줄에 파일에 쓰기, 읽기 리스트에 들어있는 문자열을 파일에 저장:
with open('hello.txt', 'w') as file: # hello.txt 파일을 쓰기 모드(w)로 열기 for i in range(3): file.write('Hello, world! {0}\n'.format(i)) 리스트에 들어있는 문자열을 파일에 저장: 파일객체.writelines(문자열리스트) lines = ['안녕하세요.\n', '파이썬\n', '코딩 도장입니다.\n'] with open('hello.txt', 'w') as file: # hello.txt 파일을 쓰기 모드(w)로 열기 file.writelines(lines)

14 파일의 내용을 한 줄씩 순차적으로 읽으려면 readline을 사용:
with open('hello.txt', 'r') as file: # hello.txt 파일을 읽기 모드(r)로 열기 line = file.readline() print(line.strip('\n')) # 파일에서 읽어온 문자열에서 \n 삭제 while line != '': print(line.strip('\n')) # 파일에서 읽어온 문자열에서 \n 삭제

15 파일객체 = open(파일이름, ‘a’) 파일객체.write(문자열) 파일객체.close()
# 입력파일과 출력파일이름을 받는다 outf=open("phone.txt", 'a') outf.write("\n최무선 ") outf.write("\n기선희 ") outf.close()

16 파일 열기 모드

17 터틀 그래픽스로 그림 그리기 터틀 그래픽스(Turtle graphics) 모듈을 사용해서 간단한 그림 그리기.
거북이가 기어가는 모양대로 그림을 그린다고 해서 터틀

18 사각형 그리기 import turtle as t >>> t.shape('turtle')
>>> t.right(90) #오른쪽(right)으로 90도 회전 >>> t.forward(100) #100픽셀만큼 앞으로 >>> t.right(90) #오른쪽(right)으로 90도 회전 >>> t.forward(100) ) #100픽셀만큼 앞으로

19 다각형 그리기 import turtle as t t.shape('turtle')
for i in range(4): # 사각형이므로 4번 반복 t.forward(100) t.right(90) import turtle as t t.shape('turtle') for i in range(5): # 오각형이므로 5번 반복 t.forward(100) t.right(360 / 5) # 360을 5로 나누어서 외각을 구함

20 import turtle as t n = 6 # 육각형 t.shape('turtle') t.color('red') # 펜의 색을 빨간색으로 설정 t.begin_fill() # 색칠할 영역 시작 for i in range(n): # n번 반복 t.forward(100) t.right(360 / n) # 360을 n으로 나누어서 외각을 구함 t.end_fill() # 색칠할 영역 끝

21 복잡한 도형 그리기 import turtle as t n = 60 # 원을 60번 그림 t.shape('turtle')
t.speed('fastest') # 거북이 속도를 가장 빠르게 설정 for i in range(n): t.circle(120) # 반지름이 120인 원을 그림 t.right(360 / n) # 오른쪽으로 6도 회전 >>> import turtle as t >>> t.shape('turtle') >>> t.circle(120)

22 import turtle as t t.shape('turtle') t.speed('fastest') # 거북이 속도를 가장 빠르게 설정 for i in range(300): # 300번 반복 t.forward(i) # i만큼 앞으로 이동. 반복할 때마다 선이 길어짐 t.right(91) # 오른쪽으로 91도 회전

23 def screenLeftClick(x,y): global r,g,b myT.pencolor((r,g,b))
import turtle myT=None myT=turtle #함수 선언 def screenLeftClick(x,y): global r,g,b myT.pencolor((r,g,b)) myT.pendown() myT.goto(x,y) #변수 선언 pSize=10 r,g,b=0.0,0.0,0.0 #메인 선언 myT.shape('turtle') myT.title('거북이로 그림그리기') myT.pensize(pSize) myT.onscreenclick(screenLeftClick,1) myT.done()

24 import turtle #함수 선언 def screenLeftClick(x,y): global r,g,b turtle.pencolor((r,g,b)) turtle.pendown() turtle.goto(x,y) #변수 선언 #myT=None pSize=10 r,g,b=0.0,0.0,0.0 #메인 선언 #메인 선언 #myT=turtle turtle.shape('turtle') turtle.title('거북이로 그림그리기') turtle.pensize(pSize) #for i in range(0,4): #myT.forward(200) #myT.right(90) turtle.onscreenclick(screenLeftClick,1) turtle.done()

25 import turtle import random myT=None myT=turtle #함수 선언 def screenRightClick(x,y): global r,g,b myT.stamp() tSize=random.randrange(1,10) pSize=random.randrange(1,10) dSize=random.randrange(0,90) myT.shapesize(tSize) myT.pencolor((r,g,b)) myT.color((r,g,b)) myT.pensize(pSize) r=random.random() g=random.random() b=random.random() myT.right(dSize) myT.goto(x,y) #변수 선언 r,g,b=0.0,0.0,0.0 #메인 선언 myT.shape('turtle') myT.title('거북이로 그림그리기') myT.onscreenclick(screenRightClick,3) myT.done()

26 나무그리기 import turtle def tree(length): if length>5:
t.forward(length) t.right(20) tree(length-15) t.left(40) t.backward(length) t=turtle.Turtle() t.left(90) t.color("green") t.speed(1) tree(90)


Download ppt "파일 입출력과 그리기."

Similar presentations


Ads by Google