목표
- 다양한 기능을 불러서 사용하기 위한 모듈 기능을 이해
- 다양한 그래픽 객체를 생성하고 변형시켜 애니메이션 만들기
모듈
- math 모듈 : sin, cos, tan 등 수학 함수를 제공
- random 모듈 : 난수, 무작위 섞기 등의 함수들을 제공
- sys, os : 운영체제와 관련된 함수들을 제공
- urllib : 인터넷 관련 함수들을 제공
- cs1robots : 휴보에 관련된 함수들을 제공
- cs1graphics : 그래픽과 관련된 함수들을 제공
- cs1media : 사진의 처리와 관련된 함수들을 제공
☞ 모듈의 정보는 help 함수를 통해 볼 수 있음
help("cs1media")
help("cs1media.picture_tool")
모듈 들여오기
▒ 모듈을 사용하려면 import 키워드 사용
import math
print(math.sin(math.pi/4)) #math 모듈 안의 전역변수와 함수를 사용할 수 있음
from math import * #모듈 내 모든 함수 불러오기
print(sin(pi/4)) #OK
print(math.pi) #NameError : name 'math'
▒ 필요한 함수들만 모듈에서 들여오는 것도 가능
from math import sin #math모듈에서 sin 함수만 불러옴
print(sin(3.14)) #ok
print(math.pi) #NameError
from math import sin
print(sin(3.14)) #ok
print(cos(3.14)) #NameError
print(math.cos(3.14)) #NameError
import 예시
from cs1robots import *
create_world()
hubo = Robot()
hubo.move()
hubo.turn_left()
import cs1robots
cs1robots.create_world() #prefix를 모두 붙여줘야 함
hubo = cs1robots.Robot()
hubo.move()
hubo.turn_left()
from cs1robots import *
from math import *
f(); #cs1robots.f()
#or math.f()
#prefix로 특정하는 함수를 정확하게 볼 수 있는 import 모듈 쓰기
모듈을 통해 그림 그리기
>>> from cs1graphics import *
>>> canvas = Canvas(400, 300)
>>> canvas.setBackgroundColor("purple")
>>> canvas.setTitle("CS101 Drawing exercise")
▶ 캔버스의 좌표계 표현
- x좌표 : 0~399까지 왼쪽 → 오른쪽 증가
- y좌표 : 0~299까지 위 → 아래로 증가
▒ 그래픽 객체는 캔버스에 추가하는 방식으로 그릴 수 있음
- 원 : Circle(radius)
- 정사각형 : Square(side)
- 직사각형 : Rectangle(width, height)
- 선 : Path
- 글자 : Text(message, font_size)
- 이미지 : (image_filename)
☞ 모든 그래픽은 위치와 크기를 지정해 주어야 함
☞ 생성한 그래픽 객체들의 색, 위치, 특성은 언제든지 바꿀 수 있음
그래픽 객체 활용
▶ 객체의 외곽선 색을 바꾸거나 알아볼 때 : setBorderColor 사용
#색 표현 방법
obj.setFillColor("red") #string으로 제공
obj.setFillColor(255, 0, 0) #r, g, b 튜플 형태로 제공
기준점
edwith, 파이썬으로 배우는 프로그래밍 기초, 김문주 교수
I'm a Senior Student in Data Science!
데이터 사이언스를 공부하고 있는 4학년 학부생의 TIL 블로그입니다. 게시글이 도움 되셨다면 구독과 좋아요 :)
'Programming > #Python' 카테고리의 다른 글
[Python] 변수와 연산자 (1) (실습 결과 포함) (0) | 2021.01.07 |
---|---|
[Python] 파이썬 기초 (실습 결과 추가) (0) | 2021.01.06 |
[Python] 지역 변수와 전역 변수 (1) | 2019.11.08 |
[Python] 함수 인자와 매개 변수 (0) | 2019.11.08 |
[Python] 함수를 사용한 로봇 조종 및 디지털 사진 변환 프로그램 (0) | 2019.11.06 |