본문 바로가기

Programming/#Python

[Python] 모듈과 그래픽 객체

목표
  1. 다양한 기능을 불러서 사용하기 위한 모듈 기능을 이해
  2. 다양한 그래픽 객체를 생성하고 변형시켜 애니메이션 만들기

 

모듈
  • 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 블로그입니다. 게시글이 도움 되셨다면 구독과 좋아요 :)