터틀 그래픽 이해하기 및 문서 사용법

터틀 모듈
기본적으로 우리가 화면에 그래픽을 그릴 수 있게 해주는 수단임

  • 모듈 또는 패키지의 사용법을 알아내는 방법 ⇨ 문서 확인하기
    🐢터틀문서
  • 스택오버플로우에서 검색하기보다 구글에서 검색하면 관련도 높은 결과를 얻기 쉽다.

1

Tk colors :
tkinter모듈, 즉 Tk 인터페이스의 줄임말
파이썬을 사용해 GUI라 불리는 그래픽 사용자 인터페이스를 생성하기 위한 수단 중 하나
터틀 모듈은 실제로 시스템 밑단에서 tkinter모듈에 의존하여 그래픽을 생성함


💡단축키 변경
갑자기 이유없이 들여쓰기 단축키가 변경돼 있었다;
다시 재설정함…………

2


💡변수나 객체, 또는 직접 이름을 붙인 모든 것의 이름을 간단하게 변경하기

3



Importing Modules

1️⃣ Basic Import :
import 키워드 다음 모듈이름 쓰기

import turtle  


2️⃣ from___ import___ :
모듈 내 특정 기능 자주 사용하는 경우 from 모듈명 import import할 대상

from turtle import Turtle  


3️⃣ from ___ import * :
from 모듈명, 별표를 사용하여 모든 것을 import할 수 있음
단점: 클래스 또는 메소드가 어딘가에 분리되어 쓰여질 때 어디에서 온 것인지 알 수가 없다.
파이썬 커뮤니티 사이에서는 이런 방식으로 작성된 코드 중 좋은 코드를 보기 매우 드물다.
하지만 알고는 있어야 함 ㅋ



Alias Modules(모듈에 별칭 지정)

  • 우리가 정의하는 이름을 부여
  • 이름이 매우 긴 이름의 모듈을 사용할 때 유용함
    ex)  
    import turtle as t  
    



Installing Modules

임포트할 수 없는 모듈들도 있음
ex)
heroes모듈(영웅의 이름을 생성하기 위해 사용하는 모듈)
turtle의 경우 파이썬 표준 라이브러리의 일부만 사용하기 때문에 패키지를 따로 설치하지 않아도 됐지만 heroes모듈의 경우,
더 큰 라이브러리를 사용해야 이용할 수 있는 모듈과 패키지 전체를 쓸 수 있음
파이참 내에서도 링크를 통해 install할 수 있다.

4



🤷🏻‍♀️range()는 왜 종료 값 바로 앞까지의 숫자를 생성하는가?

  • 일관성: range(n)을 사용하면 0부터 n-1까지의 숫자를 생성합니다. 이는 일반적으로 프로그래밍에서 인덱싱이 0부터 시작하는 것과 일치합니다. 이런 방식으로, 프로그래머들은 배열이나 리스트의 모든 요소를 반복하기 위해 range(len(list))와 같은 패턴을 자주 사용합니다.
  • 경계 설정의 용이성: range(start, stop)을 사용할 때, stop - start는 생성된 숫자의 총 개수를 바로 알려줍니다.
  • 슬라이싱과의 일관성: 파이썬의 리스트 슬라이싱도 마찬가지 방식으로 작동합니다. 예를 들어, list[start:stop]은 시작 인덱스부터 stop-1 인덱스까지의 요소를 반환합니다. 이로 인해 range() 함수와 슬라이싱 사이의 일관성이 유지됩니다.
  • 다른 프로그래밍 언어와의 유사성: 많은 프로그래밍 언어에서 for-loop와 같은 반복 구조를 사용할 때, 종료 값은 포함되지 않습니다. 파이썬의 range() 함수는 이러한 관례를 따르고 있습니다.
  • 수학적 표현과의 유사성: 종료 값이 포함되지 않는 방식은 수학에서의 표기 방법과도 일치합니다. 예를 들면, 반 열린 구간 [a, b)은 a는 포함되고 b는 포함되지 않는다는 것을 의미합니다.

이러한 이유들로 인해 range() 함수는 시작 값부터 종료 값 바로 앞까지의 숫자를 생성하는 방식이 선택되었습니다.



Turtle 과제 : 삼각형부터 십각형 랜덤한 컬러로 그리기

5


Turtle 과제 : Draw a Random Walk(무작위 행보 구현)

6


Python Tuples 및 임의의 RGB색상 생성하기

Tuples란?

  • 리스트와 매우 비슷
  • 둥근 괄호 안에 쉼표로 구분
  • 변수명 [ ] 대괄호로 인덱스에 액세스 할 수 있다.
  • 리스트와의 차이점 : 값을 변경할 수 없다. 제거할 수도 없으며 어떤 방식으로든 변경할 수 없다.(immutable)
  • 왜 tuples을 사용하는가?
    ⇨ 웹사이트의 색상 구성표와 같이 일정하게 유지하고자 하는 리스트를 생성하고 누군가가 그 리스트를 실수로 변경하기를 원하지 않는 경우


tuples를 생성 후 변경해야 하는 경우

7


임의의 RGB색상 생성하기
색상은 한번 정의하면 변경할 가능성이 적기 때문에 Tuples로 표현됨

8



Make a Spirograph

9