C. 변수 선언
예상 시간: 7분 | 이전: B. 게임 창 만들기 | 다음: D. Entity로 3D 큐브 만들기
🎯 학습 목표
이 강의를 마치면 다음을 할 수 있어요:
- ○ 변수가 무엇인지 이해한다
- ○
=기호로 값을 저장할 수 있다 - ○ 다양한 타입의 변수를 만들 수 있다
핵심 개념
변수(Variable)란?
변수는 값을 저장하는 상자입니다.
📝 비유: 이름표가 붙은 상자
변수는 이름표가 붙은 상자와 같습니다!
cube_size라는 이름표가 붙은 상자에 숫자2를 넣음- 나중에
cube_size상자를 열면2가 나옴 - 상자 안의 내용물은 언제든 바꿀 수 있음
게임에서 점수, 체력, 색상 등을 저장할 때 사용해요!
변수 사용 흐름도
flowchart LR
A["변수 이름"] --> B["="]
B --> C["값"]
C --> D["저장 완료!"]
E["cube_size"] --> F["="]
F --> G["2"]
G --> H["cube_size에 2 저장"]
style A fill:#e3f2fd,stroke:#1976d2
style E fill:#e3f2fd,stroke:#1976d2
style C fill:#e8f5e9,stroke:#388e3c
style G fill:#e8f5e9,stroke:#388e3c
변수 만들기
설명:
=기호를 사용하여 값을 저장합니다- 변수 이름은 상자의 라벨과 같습니다
- 나중에 변수 이름으로 값을 꺼낼 수 있습니다
변수의 종류
| 종류 | 예시 | 설명 | 용도 |
|---|---|---|---|
| 문자열 | "Student" |
따옴표로 감싼 글자 | 이름, 메시지 |
| 정수 | 2 |
소수점 없는 숫자 | 개수, 크기 |
| 실수 | 3.14 |
소수점 있는 숫자 | 위치, 속도 |
| 색상 | color.red |
Ursina 색상 | 객체 색상 |
⚠️ 변수 이름 규칙
변수 이름을 지을 때 주의하세요!
- ✅ 영문, 숫자, 밑줄(
_) 사용 가능 - ✅
cube_size,myName,player1 - ❌ 숫자로 시작하면 안 됨:
1cube - ❌ 공백 사용 불가:
cube size - ❌ 특수문자 불가:
cube-size,cube@size
예제 코드
from ursina import *
app = Ursina()
# 변수 선언
my_name = "Student"
cube_size = 2
cube_color = color.red
# 변수 사용
print(f"이름: {my_name}")
print(f"크기: {cube_size}")
print(f"색상: {cube_color}")
app.run()
🎯 퀴즈
퀴즈: 변수의 역할
cube_size = 2에서 변수 cube_size의 역할은?
정답 보기
정답: B) 숫자 2를 저장합니다
cube_size = 2는 cube_size라는 이름의 변수에 숫자 2를 저장합니다.
나중에 cube_size를 사용하면 2라는 값을 꺼낼 수 있습니다!
🔧 디버그 클리닉
문제: NameError: name 'cube_colour' is not defined
원인: 변수 이름 오타 (영국식 철자 사용)
해결: 정확한 변수 이름 사용
문제: SyntaxError: invalid syntax
원인: 변수 이름에 공백이나 특수문자 사용
해결: 밑줄(_)로 단어 연결
직접 코딩해보기
변수를 선언하고 사용하는 코드를 작성해보세요!
변수 선언하기
플레이어 이름과 점수를 변수에 저장하세요.
예시 답안
from ursina import *
app = Ursina()
player_name = "Hero"
player_score = 100
print(f"플레이어: {player_name}")
print(f"점수: {player_score}")
app.run()
결과: 콘솔에 "플레이어: Hero"와 "점수: 100"이 출력됩니다!
🧩 핵심 요약
이번 강의에서 배운 내용:
- 변수: 값을 저장하는 이름표 붙은 상자
=기호: 오른쪽 값을 왼쪽 변수에 저장- 문자열: 따옴표로 감싼 글자 (
"Hello") - 숫자: 정수(
2) 또는 실수(3.14) - 이름 규칙: 영문, 숫자, 밑줄만 사용 (숫자로 시작 불가)
복습 체크리스트
- [ ] 변수가 무엇인지 설명할 수 있나요?
- [ ]
=기호의 역할을 알고 있나요? - [ ] 올바른 변수 이름과 잘못된 변수 이름을 구분할 수 있나요?
다음 단계: D. Entity로 3D 큐브 만들기 →