Table of Contents
[파이썬] 터틀 그래픽 배경색 바꾸기: bgcolor(), pencolor(), fillcolor() 차이까지 정리
![[파이썬] 터틀 그래픽 배경색 바꾸기: bgcolor(), pencolor(), fillcolor() 차이까지 정리 2 [파이썬] 터틀 그래픽 배경색 바꾸기: bgcolor(), pencolor(), fillcolor() 차이까지 정리](https://www.shindeacon.co.kr/wp-content/uploads/2026/04/turtle-bgcolor-title-cover-title-only.jpg)
터틀 그래픽으로 처음 그림을 그리다 보면 꼭 한 번은 이런 순간이 옵니다. 거북이가 선은 잘 그리고 있는데 화면이 너무 밋밋해 보이거나, 분명 색을 바꿨다고 생각했는데 선 색만 바뀌고 배경은 그대로 남아 있는 경우입니다. 어떤 날은 별을 그리려고 했는데 검은 배경에 노란 선을 기대했다가, 실제로는 하얀 화면 위에 노란 선만 그려져서 생각했던 분위기가 하나도 안 나기도 합니다.
이럴 때 많이 찾게 되는 말이 파이썬 터틀 그래픽 배경색입니다. 그런데 막상 검색해보면 bgcolor() 하나만 소개하고 끝나는 글이 많습니다. 물론 함수 하나만 알면 배경색 자체는 바꿀 수 있습니다. 문제는 초보자 입장에서 진짜 헷갈리는 부분이 그 다음부터라는 점입니다. bgcolor()는 배경색이고, pencolor()는 선 색이고, fillcolor()는 색칠용인데, 막상 실습하다 보면 세 개가 자꾸 머릿속에서 섞입니다.
결론부터 말하면 파이썬 터틀 그래픽 배경색은 bgcolor()로 바꾸고, 선 색은 pencolor(), 도형 안쪽을 채울 때는 fillcolor()를 써야 합니다. 이 셋을 같이 묶어서 이해해야 실습할 때 덜 헷갈립니다. 특히 기존에 많이 보는 터틀 그래픽 컬러 리스트 글과 같이 보면 훨씬 이해가 빨라집니다.
이번 글에서는 터틀 그래픽 배경색을 바꾸는 가장 기본적인 방법부터, 왜 색이 원하는 대로 안 나오는지, bgcolor()와 fillcolor()는 무엇이 다른지, 그리고 실제로 예쁘게 보이는 조합을 어떻게 만들면 좋은지까지 초보자 기준으로 천천히 정리해보겠습니다.
파이썬 터틀 그래픽 배경색을 바꿀 때 제일 먼저 알아둘 것
│ 배경색은 거북이 색이 아니라 화면 전체 색입니다
처음 배우는 분들이 가장 많이 헷갈리는 부분이 바로 이것입니다. 터틀 그래픽에서 색을 바꾼다고 했을 때, 사실 바꿀 수 있는 대상이 여러 개 있습니다. 화면 전체 배경, 거북이가 그리는 선, 도형 안쪽 색, 심지어 글자 색까지 조금씩 따로 생각해야 합니다.
파이썬 터틀 그래픽 배경색을 바꾸고 싶다면 우선 화면 전체를 칠하는 함수가 따로 있다는 감각을 잡는 게 중요합니다. 그 함수가 바로 bgcolor()입니다. 이름 그대로 background color라고 생각하면 이해가 쉽습니다. 즉 bgcolor()는 선이나 도형을 바꾸는 게 아니라, 그림이 올라가는 도화지 자체 색을 바꾸는 함수입니다.
이 구분이 처음에 안 잡히면 코드를 분명 입력했는데 “왜 이건 선 색만 바뀌지?” 같은 혼란이 계속 생깁니다. 초반에는 함수 문법보다 대상이 무엇인지 먼저 구분하는 편이 더 중요합니다.
│ 터틀 그래픽 배경색은 보통 screen 객체에서 바꾸는 편이 깔끔합니다
실습할 때 가장 자주 쓰는 형태는 아래처럼 Screen() 객체를 하나 만들고 배경색을 지정하는 방식입니다.
import turtle
screen = turtle.Screen()
screen.bgcolor("black")
t = turtle.Turtle()
t.forward(100)
turtle.done()
이 코드에서 screen.bgcolor("black")가 바로 배경색을 바꾸는 부분입니다. 처음 보면 그냥 한 줄 같지만, 실제로는 “이 그림이 그려질 화면은 검은색이다”라고 먼저 정해주는 역할을 합니다. 그래서 선 색이 밝지 않으면 검은 배경에서는 잘 안 보일 수도 있습니다.
│ 배경색을 바꿨는데 선이 안 보이는 이유는 대부분 대비 때문입니다
이건 진짜 많이 겪습니다. 검은 배경으로 바꾸고 나서 “어? 아무것도 안 그려지는데?” 하고 당황하는 경우가 있는데, 실제로는 선 색도 검정에 가까워서 안 보이는 경우가 많습니다. 즉 배경색만 바꿀 게 아니라 선 색도 같이 생각해야 합니다.
예를 들어 이런 식으로 같이 바꾸면 훨씬 보기 쉽습니다.
import turtle
screen = turtle.Screen()
screen.bgcolor("navy")
t = turtle.Turtle()
t.pencolor("white")
t.forward(120)
turtle.done()
이렇게 보면 파이썬 터틀 그래픽 배경색은 단독 설정이 아니라, 선 색과 항상 같이 생각해야 한다는 감각이 생깁니다.
![[파이썬] 터틀 그래픽 배경색 바꾸기: bgcolor(), pencolor(), fillcolor() 차이까지 정리 3 bgcolor, pencolor, fillcolor 차이 설명 이미지](https://www.shindeacon.co.kr/wp-content/uploads/2026/04/turtle-bgcolor-mid-diff.jpg)
│ bgcolor(), pencolor(), fillcolor()는 용도가 전부 다릅니다
초보자 실습에서 자꾸 헷갈리는 이유는 이름이 다 color로 끝나기 때문입니다. 그런데 실제 역할은 명확히 나뉩니다.
bgcolor(): 화면 전체 배경색pencolor(): 선 색fillcolor(): 도형 안쪽 채우는 색
여기서 파이썬 터틀 그래픽 배경색은 첫 번째에 해당합니다. 즉 별을 노랗게 채우고 싶다고 bgcolor("yellow")를 쓰면 화면 전체가 노랗게 바뀌지, 별만 노랗게 되지는 않습니다.
이 차이를 제대로 이해하면 이후 도형 그리기 실습도 훨씬 편해집니다. 예전에 많이 본 터틀 그래픽 컬러 리스트 글과 같이 보면 색 이름을 고를 때도 감이 더 잘 옵니다.
│ 실제로 많이 쓰는 배경색 코드는 이런 식입니다
배경색은 색 이름으로 넣을 수도 있고, RGB 모드로 바꿔서 숫자로도 넣을 수 있습니다. 처음에는 색 이름으로 시작하는 편이 가장 쉽습니다.
screen.bgcolor("skyblue")
screen.bgcolor("black")
screen.bgcolor("lightyellow")
screen.bgcolor("pink")
이 중에서 초보자가 실습하기 편한 건 skyblue, black, lightyellow 같은 색입니다. 너무 진한 색이나 너무 밝은 색은 선 색과 겹치면 화면이 생각보다 안 예쁘게 보일 수 있습니다.
│ 예쁘게 보이는 조합은 따로 생각하는 편이 좋습니다
실습용으로는 아래 조합이 꽤 무난합니다.
- 배경
black+ 선white또는yellow - 배경
skyblue+ 선navy - 배경
lightyellow+ 선green - 배경
pink+ 선purple
이런 조합을 알고 있으면 파이썬 터틀 그래픽 배경색 실습이 훨씬 덜 밋밋해집니다. 초보자 글에서 이런 부분이 빠지면 함수만 외우고 결과는 마음에 안 드는 경우가 많습니다.
│ 도형 안쪽을 채울 때는 fillcolor()와 begin_fill()을 같이 써야 합니다
이 부분에서 bgcolor()와 가장 많이 헷갈립니다. 예를 들어 하트나 별을 그리고 안을 빨간색으로 채우고 싶다면 배경색 함수가 아니라 fillcolor()를 써야 합니다.
import turtle
screen = turtle.Screen()
screen.bgcolor("white")
t = turtle.Turtle()
t.pencolor("red")
t.fillcolor("pink")
t.begin_fill()
for _ in range(4):
t.forward(100)
t.left(90)
t.end_fill()
turtle.done()
여기서 중요한 건 화면은 여전히 흰색이고, 사각형 안쪽만 분홍색으로 채워진다는 점입니다. 즉 파이썬 터틀 그래픽 배경색을 바꾸는 함수와, 도형 안쪽을 칠하는 함수는 역할이 완전히 다릅니다.
이 감각이 잡히면 터틀 그래픽 하트 그리기 같은 글을 다시 볼 때도 훨씬 덜 헷갈립니다.
│ 배경색이 적용되지 않는 것처럼 보일 때 확인할 것
실습하다 보면 분명 bgcolor()를 넣었는데도 원하는 결과가 안 나오는 것처럼 느껴질 때가 있습니다. 이럴 때는 함수가 틀린 경우보다 순서나 색 조합 문제가 더 많습니다.
- 배경색과 선 색이 비슷해서 안 보이는 경우
- screen 객체를 따로 만들지 않고 코드 흐름이 섞인 경우
- 너무 뒤쪽에 넣어서 이미 다른 설정과 같이 헷갈리는 경우
- 색 이름 철자가 틀린 경우
│ 실습 초반에는 배경 먼저, 선 색 다음 순서가 덜 헷갈립니다
개인적으로는 파이썬 터틀 그래픽 배경색 실습을 할 때 항상 아래 순서로 쓰는 편이 제일 덜 꼬입니다.
Screen()만들기bgcolor()로 배경 정하기Turtle()만들기pencolor()정하기- 필요하면
fillcolor()정하기 - 그다음 도형 그리기
이렇게 가면 색 관련 함수가 각각 무슨 역할인지 눈에 더 잘 들어옵니다.
│ 많이 물어보는 질문도 결국 비슷합니다
│ bgcolor()만 쓰면 거북이 색도 같이 바뀌나요?
아닙니다. bgcolor()는 화면 전체 배경만 바꿉니다. 거북이 선 색은 pencolor()로 따로 바꿔야 합니다.
│ fillcolor()를 썼는데 아무것도 안 채워져요
이 경우는 대부분 begin_fill()과 end_fill()를 같이 안 쓴 경우입니다. 색만 지정했다고 자동으로 도형 안이 채워지지는 않습니다.
│ 검은 배경으로 했는데 그림이 안 보여요
대부분 선 색도 어두운 색이라 그렇습니다. 배경이 어두우면 선은 흰색, 노란색, 밝은 하늘색처럼 대비가 큰 색으로 바꾸는 편이 좋습니다.
│ 파이썬 터틀 그래픽 배경색은 단독으로 외우기보다 색 역할을 같이 묶어야 덜 헷갈립니다
파이썬 터틀 그래픽 배경색을 검색한 사람은 사실 함수 이름 하나만 알고 싶은 게 아닐 때가 많습니다. 실제로는 “왜 색을 바꿨는데 생각한 대로 안 나오지?”를 해결하고 싶은 경우가 더 많습니다. 그래서 bgcolor()만 따로 외우는 것보다, pencolor(), fillcolor()와 같이 묶어서 보는 편이 훨씬 실용적입니다.
정리하면 화면은 bgcolor(), 선은 pencolor(), 도형 안쪽은 fillcolor()입니다. 이 세 가지만 역할이 분리돼도 터틀 그래픽 실습이 훨씬 덜 답답해집니다. 특히 기존에 조회수가 높은 기본 명령어 모음, 텍스트 출력, 컬러 리스트, 하트 그리기 글과 자연스럽게 연결되기 때문에, 다음 실습으로 넘어가기도 좋습니다.
![]()