---
description: >-
  변수는 테이터를 임시로 저장하는 공간입니다. 수학에서 배우는 변수를 생각하고 있다면 동일한 내용입니다. 다만, 소프트웨어에서 변수라고 하는
  것은 숫자 외에도 다양한 데이터들을 가리킬 수 있습니다.
---

# 변수(Variable)

현재는 컴퓨터는 다양한 용도로 활용되고 있습니다. 인터넷, 워드 프로세서, 자료분석, 데이터 베이스, 비디오 게임 등 여러 분야로 사용되고 있습니다만, 처음 개발되었을 때는 사람이 계산하기에 시간이 오래걸리는 수학 계산을 수행하기 위하여 발명되었습니다. 그래서 이름도 Computer입니다.

단순한 1+1과 같은 연산에서는 변수가 필요없을 수도 있습니다. 하지만, 복잡한 연산을 좀 더 편리하게 하기 위해서는 잠시 계산된 결과를 다른 곳에 저장하여 보관할 필요가 있습니다. 다음 예제로 변수의 기본에 대해서 알아보겠습니다.

```python
#가축의 숫자를 세어봅시다.

cow = 4
pig = 2
chicken = 7
sheep = 3

sum = cow + pig + chicken + sheep
print(sum)

cow = 9
sum = cow + pig + chicken + sheep
print(sum)
```

위의 내용을 가축의 숫자를 세어보는 내용입니다. 3에서 6행을 보면 소, 돼지, 닭, 양으로 변수를 만들고  각각 4, 2, 7, 3 마리가 있다고 숫자를 넣었습니다.  8행의 sum이라는 변수로 각 변수들의 합을 구하고 해당 내용을 출력했습니다.

이후 11행부터 소의 숫자를 9로 변경하고 다시 합을 구한 뒤에 연산 결과를 출력했습니다.

## 변수명 만들기

변수명은 사용자가 원하는 대로 만들 수 있습니다. 하지만 다음과 같은 규칙이 있습니다.

1. 영문자 대문자, 소문자, 숫자, 그리로 밑줄(\_)을 사용하여 만들 수 있습니다.
2. 영문 대문자와 소문자를 구분합니다. Dog, DOG, dog는 각각 다른 변수입니다.&#x20;
3. 변수명 중간에 공백을 허용하지 않습니다.
4. 숫자로 시작하는 변수명은 허용되지 않습니다.
5. 예약어는 사용할 수 없습니다.

변수명을 만들 때는 해당 변수가 무엇을 저장하려고 하는지 짐작할 수 있도록 만드는 것이 좋습니다. aaa, c1, abc, v2와 같이 모호한 변수명은 피하는 것이 좋습니다.

## Python의 예약어

다음의 예약어는 변수로 사용할 수 없습니다. None, False, True를 제외하고는 모두 영문 수문자로 되어 있습니다.

and, as, assert, break, class, continue, def, del, elif, else, except, False,

finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or,

pass, raise, return, True, try, while, with, yield

## 예제

사과 10개, 바나나 5개, 오렌지 7개에 관한 변수를 생성하십시오. 사과와 바나나의 합, 바나나와 오렌지의 합, 사과 오렌지의 합, 전체 합을 구한 뒤에 각각을 화면에 출력하십시오.&#x20;
