1. 변수와 상자
변수는 데이터를 저장하기 위한 특별한 도구야. 모든 종류의 데이터를 저장할 수 있어. Python에서 모든 데이터는 변수를 통해 저장돼. 변수는 의미적으로 상자를 떠올리게 해. 그냥 일반적인 상자 말이야.
자, 예를 들어 종이에 숫자 13을 쓰고 이 종이를 상자에 넣었다고 치자. 이제 우리는 이렇게 말할 수 있어: "고양이 상자는 값 13을 저장하고 있다".
Python의 모든 변수는 두 가지 중요한 속성을 가지고 있어: 이름과 값.
이름은 변수들을 서로 구별하기 위해 사용돼. 상자에 적힌 라벨 같은 거야.
값은 변수에 저장된 어떤 객체, 데이터, 또는 정보야.
Python의 모든 객체는 고유의 타입을 가지고 있어. 예를 들어, "정수", "소수", "텍스트", "고양이", "집" 같은 데이터 타입이 있을 수 있어. 하지만 변수(상자) 자체는 타입을 가지지 않아. 상자에는 어떤 타입의 객체라도 넣을 수 있어. 실제 삶에서도 그렇잖아.
2. 변수 생성
Python에서는 변수를 특별히 선언할 필요가 없어. 다음과 같은 형태로 작성하면 돼:
name = value
여기서 등호는 수학의 등호가 아니야. 이건 할당 연산자야.
다시 말해서, 등호 기호는 변수 name에 value 값을 설정(할당)하라는 명령이야.
몇 가지 예를 들어볼게:
| name = "Alexander" | 변수 name은 값 — 문자열 "Alexander"를 저장해 |
|---|---|
| age = 35 | 변수 age은 값 — 정수 35를 저장해 |
| city = "London" | 변수 city은 값 — 문자열 "London"을 저장해 |
| pi = 3.14 | 변수 pi은 값 — 실수 3.14를 저장해 |
Python에서 모든 변수에 어떤 값이든 할당 가능하다. 변수 자체는 사전에 정의된 타입이 없고, 현재 저장된 객체의 타입만 있어.
3. 표현식과 연산자
할당 연산자 왼쪽에는 반드시 변수 이름이 있어야 해. 하지만 오른쪽에는 복잡한 표현식이 올 수 있어.
| name = "Alex" + "Alex" | 변수 name은 값 — 문자열 "AlexAlex"를 저장해 |
|---|---|
| age = 5 * 7 | 변수 age은 값 — 숫자 35를 저장해 |
| age = age * 2 + 3 | 변수 age은 값 — 숫자 73를 저장해 |
| age = age + 1 | 변수 age은 값 — 숫자 74를 저장해 |
두 문자열을 " + " 기호를 사용해 합칠 수 있어. 이런 연산을 문자열 연결이라고 해. 문자열은 문자열끼리만 연결 가능해. Java나 JavaScript 같은 언어에서는 문자열과 숫자를 "더할" 수 있어. 하지만 Python에서는 불가능해: 숫자를 명시적으로 문자열로 변환한 다음 문자열과 "더해야" 해.
또한, 우리가 변수 age를 할당 연산자의 양쪽에서 사용한 걸 볼 수 있어. 이는 할당은 수학적 등호가 아니다, 라는 점 때문이야.
다음 명령을 살펴보자:
age = age + 1
여기에는 두 가지 일이 기록돼 있어:
-
age + 1표현식의 값을 계산하고,age의 현재 값을 이용해; - 계산 결과를
age변수에 저장해.
이 명령은 변수 age의 값을 1 만큼 증가시킨다.
연산자의 실행 순서는 수학과 동일해:
- 우선 괄호 내의 연산이 실행돼;
- 그 다음 곱셈과 나눗셈이 실행돼;
- 그리고 마지막으로 덧셈과 뺄셈이 실행돼.
GO TO FULL VERSION