터틀 그래픽에서 색상은 단순 꾸미기 요소가 아닙니다. 같은 도형을 그려도 선 색과 채우기 색, 배경색의 조합에 따라 가독성과 완성도가 크게 달라집니다. 특히 수업이나 블로그 예제처럼 화면 캡처를 자주 쓰는 환경에서는 색상 조합이 결과물 품질을 거의 좌우합니다.
이번 글은 pencolor(), fillcolor(), bgcolor()를 “함수 설명”이 아니라 “실전 조합 규칙”으로 다시 정리한 버전입니다. 무엇을 먼저 지정해야 원하는 결과가 나오는지, 왜 색이 안 먹는지, 오류가 날 때 어디를 확인해야 하는지까지 한 번에 정리합니다.
![[파이썬] 터틀 색상 코드 정리: pencolor(), fillcolor(), bgcolor() 실전 조합 2 터틀 색상 코드 본문 이미지 1](https://www.shindeacon.co.kr/wp-content/uploads/2026/04/body1-4-scaled.jpg)
Table of Contents
터틀 색상 코드는 역할 분리와 지정 순서를 이해하면 실수가 줄어듭니다
세 함수의 역할을 먼저 분리
bgcolor()는 화면 배경, pencolor()는 선 색, fillcolor()는 내부 채우기 색을 담당합니다. 이 세 개를 같은 개념으로 보면 도형이 왜 다르게 보이는지 이해하기 어렵습니다. 실제로는 서로 독립된 레이어처럼 생각하는 편이 맞습니다.
import turtle as t
t.bgcolor("#0f172a")
t.pencolor("#f8fafc")
t.fillcolor("#22c55e")
배경 먼저, 선 다음, 채우기 마지막
초반엔 항상 bgcolor - pencolor - fillcolor 순서를 고정하세요. 순서를 고정해두면 디버깅 시간이 크게 줄어듭니다.
채우기 색이 안 보일 때 확인 순서
가장 흔한 원인은 begin_fill()과 end_fill()를 같이 쓰지 않은 경우입니다. fillcolor를 지정해도 채우기 구간이 없으면 내부 색이 표시되지 않습니다.
t.fillcolor("orange")
t.begin_fill()
for _ in range(4):
t.forward(120)
t.right(90)
t.end_fill()
도형 선은 보이는데 안이 비어 있다면 거의 이 조건을 먼저 확인하면 됩니다.
HEX 색상과 이름 색상, 언제 무엇을 쓸까
교육용/간단 예제는 이름 색상(예: “red”, “skyblue”)이 빠릅니다. 반면 블로그 썸네일이나 시리즈 글처럼 톤 통일이 필요하면 HEX 코드를 쓰는 것이 재현성이 높습니다. 같은 코드가 다른 환경에서도 동일하게 보이기 때문입니다.
palette = {
"bg": "#111827",
"line": "#e5e7eb",
"fill": "#60a5fa"
}
t.bgcolor(palette["bg"])
t.pencolor(palette["line"])
t.fillcolor(palette["fill"])
대비 비율 체감 규칙
배경이 어두우면 선은 밝게, 배경이 밝으면 선은 진하게. 캡처 기준으로 이 규칙만 지켜도 결과물 읽기 쉬움이 크게 올라갑니다.
![[파이썬] 터틀 색상 코드 정리: pencolor(), fillcolor(), bgcolor() 실전 조합 3 터틀 색상 코드 본문 이미지 2](https://www.shindeacon.co.kr/wp-content/uploads/2026/04/body2-5-scaled.jpg)
실전 조합 3가지 템플릿
1) 다크 배경 학습용
bg #0b1020 / line #f8fafc / fill #38bdf8
2) 화이트 배경 문서용
bg #ffffff / line #1f2937 / fill #f59e0b
3) 발표 슬라이드용
bg #111827 / line #fde68a / fill #34d399
템플릿을 코드 조각으로 저장해두면 매번 색상 고민 시간을 줄일 수 있습니다.
자주 발생하는 오류 정리
배경만 바뀌고 선 색이 그대로
pencolor()를 별도로 지정하지 않았을 가능성이 큽니다.
채우기 색 지정했는데 도형 내부가 비어 있음
begin_fill()/end_fill() 누락 여부를 먼저 확인하세요.
검은 배경에서 도형이 안 보임
선 색이 기본 검정으로 남아 있을 수 있습니다. 대비 높은 색으로 강제 지정하세요.
정리
터틀 색상 코드는 함수 암기보다 역할 분리와 순서 고정이 중요합니다. 배경-선-채우기 순서와 채우기 구간 규칙만 정확히 잡아도 대부분의 색상 문제는 빠르게 해결됩니다.