⚠️ 이 포스팅은 인프런님의 프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)을 공부하고 정리한 블로그 포스팅입니다. ⚠️
포스팅에 해당하는 목차는 다음과 같습니다:
섹션 2. 파이썬 완전 기초
- 파이썬 변수(2-1)
- 파이썬 변수(2-2)
1. 변수란?
변수는 데이터를 저장하는 공간이다. 변수 안에 들어있는 데이터는 변경할 수 있다.
# 변수 선언하기
n = 100
# 변수 n에 정수 100을 할당한다
# 오른쪽에 있는 데이터를 왼쪽에 있는 변수에 할당한다
# 변수값 활용하기
print(n * 2)
# 200
# 정수 데이터 100이 들어있는 변수 n에 숫자 2를 곱한값을 출력한다
2. 변수 이름을 지을때 규칙
2.1 가능한 변수 이름
age = 1
Age = 2
aGe = 3
AGE = 4
a_g_e = 5
_age = 6
age_ = 7
_AGE_ = 8
2.2 불가능한 변수 이름
2.2.1 특수문자, 숫자로 시작하는 변수
# 숫자로 시작하는 변수
1age = 1
# 특수기호로 시작하는 변수
%age = 2
2.2.2 예약어(이미 파이썬에서 예약되어 쓰고 있는 이름)
for = 3
as = 4
3. 변수 동시 선언
여러 변수를 동시에 선언할 수 있다.
x = y = z = 200
# 변수 x, y, z에 정수 200을 할당한다
print(x)
print(y)
print(z)
# 모두 정수 200을 출력한다
4. 변수값 재선언
변수안에 데이터를 할당한후 수정할 수 있다.
# 변수 선언
value = 300
# 변수값 재선언
value = 'Change Value'
# 출력
print(value)
# Change Value
5. type() 함수
type 함수는 데이터의 자료형을 알려준다.
n = 100
print(type(n))
# <class 'int'>
# 변수 n에는 100이 할당되어있다
# 100은 정수(integer)이므로 <class 'int'>가 출력된다
6. id()함수
파이썬에 있는 모든 데이터는 아이디 값을 가지고 있는 객체이다. 아이디는 오브젝트의 메모리 주소이기 때문에 프로그램을 실행할때마다 다른 아이디 값이 나온다. id()함수는 오브젝트의 아이디값을 리턴한다.
a = 100
b = 100
print(id(a) == id(b))
# True
각기 다른 변수에 같은 값이 할당이 되었을 때 같은 주소값을 가리킨다. 그러므로 a와 b의 아이디값은 같다. 파이썬 엔진에서 id값은 효율성을 위해 하나만 만들어지기 때문이다.
7. 객체 참조(Object Reference)
파이썬은 객체 지향 언어이다. 파이썬에 있는 모든 데이터는 객체다. 문자열, 정수, 함수도 파이썬에서는 객체이다. 또한 모든 오브젝트는 클래스에 속한다. 아래의 예시를 보자.
print(400)
# 400이라는 정수값을 출력하려고 할때 일어나는 일
# 파이썬 엔진이 내부적으로 400이라는 정수를 만드는 함수 init()을 통해서 값을 생성하고 콘솔에 출력한다
# 즉 print(400)은 print(init(400))과 같다
파이썬에 있는 모든 데이터는 객체이므로. 출력하려는 정수 400도 객체다. 이 정수 객체를 만들기 위해 init()이라는 함수가 실행되었다.
k = 1
j = k
print(k, j)
# 1 1
k = 2
print(k, j)
# 2 1
j = 3
print(k, j)
# 2 3
위의 예제에서 변수 k에 정수 1을 할당했다. 파이썬에 있는 모든 데이터는 객체이므로 변수 k는 1을 가지고 있는 메모리에 직접 접근하는 것이 아니라 주소에 접근을 한다.
k = 1
j = k
print(k, j)
# 1 1
print(id(k), id(j))
# 4356030704 4356030704
k = 2
print(k, j)
# 2 1
print(id(k), id(j))
# 4356030736 4356030704
j = 3
print(k, j)
# 2 3
print(id(k), id(j))
# 4356030736 4356030768
id()라는 함수는 변수가 가리키는 주소값을 리턴한다. j가 k를 할당했을때는 아이디 값이 같으므로 같은 주소를 가리키고 있다. k에 다른 값을 넣으면 k는 새로운 주소를 가리키게 된다.

'Python' 카테고리의 다른 글
| [파이썬] 파이썬에서 지원하는 자료형 정리 (0) | 2022.03.08 |
|---|---|
| [파이썬] 네이밍 컨벤션 (카멜 케이스, 파스칼 케이스, 스네이크 케이스) (0) | 2022.03.08 |
| [파이썬] format 함수를 사용해서 문자열 포맷팅하기 (0) | 2022.03.08 |
| [파이썬] % 기호를 사용해서 문자열 포맷팅하기 (0) | 2022.03.07 |
| [파이썬] print 함수 정리 (줄바꿈, print 함수의 파라미터, sep, end) (0) | 2022.02.24 |
댓글