상세 컨텐츠

본문 제목

파이썬 변수

인공지능_2026/1. 파이썬

by Ryuzy 2026. 4. 13. 01:04

본문

반응형

1. 하드웨어와 메모리 개념 정리

Python에서 변수를 배우기 전에, 먼저 컴퓨터가 데이터를 어떻게 저장하고 처리하는지 이해하는 것이 중요합니다. 변수는 단순한 개념이 아니라, 실제로는 메모리라는 공간에 데이터를 저장하고 이름을 붙이는 것이기 때문입니다.

 

1. 주요 구성 요소

  • CPU (중앙처리장치)
  • 메모리 (RAM)
  • 저장장치 (SSD/HDD)
  • 입력장치 (키보드, 마우스)
  • 출력장치 (모니터) 등

 

2. CPU의 역할

CPU는 계산하고 판단하는 역할을 합니다.

  • 연산 수행 (덧셈, 비교 등)
  • 프로그램 명령 실행
  • 전체 시스템 제어

 

3. 메모리(RAM)의 역할

메모리는 현재 실행 중인 데이터를 저장하는 공간입니다.

  • 프로그램 실행 시 필요한 데이터 저장
  • 변수 값이 저장되는 곳
  • 빠른 읽기/쓰기 가능

 

 

2. Python 파일의 실행

Python 코드는 단순한 텍스트 파일(.py)이지만, 실행되는 순간에는 CPU와 메모리를 통해 실제 프로그램으로 동작합니다.

 

1. 시작 상태 (파일 저장)

# test.py
print("Hello, Python")

👉 이 파일은 현재 저장장치(SSD/HDD) 에 저장되어 있는 상태입니다.
👉 아직 실행된 것이 아니라 단순한 텍스트입니다.

 

2. 실행 명령 입력

python test.py

👉 이 명령은 “Python 프로그램을 실행해라” 라는 의미입니다.

 

3. Python 인터프리터 실행

👉 Python 인터프리터(실행 프로그램)가 먼저 실행됩니다.

  • Python은 컴파일 언어가 아니라 인터프리터 언어입니다. 코드를 한 줄씩 읽고 실행합니다.

 

4. 메모리(RAM)에 코드 로드

👉 .py 파일이 저장장치 → 메모리(RAM)로 올라옵니다.

👉 CPU는 저장장치가 아니라 메모리에서만 작업 가능

 

5. CPU가 코드 실행

👉 CPU가 메모리에 있는 코드를 읽어서 실행합니다.

👉 CPU → RAM에서 코드 읽기 → 실행

 

CPU는 내부적으로 아래와 같이 처리합니다.

# test.py
print("Hello, Python")

'''
1. print 함수 찾기
2. "Hello, Python" 문자열 확인
3. 출력 명령 실행
'''

👉 CPU → 출력 시스템 → 화면(모니터)

 

 

3. 변수

변수는 프로그램에서 데이터를 저장하기 위해 사용하는 이름으로, 메모리에 저장된 값을 참조하는 역할을 합니다. 값을 직접 다루는 대신 변수 이름을 통해 데이터를 읽고 변경할 수 있으며, 프로그램 실행 중에 값이 변할 수 있다는 특징을 가집니다. 이를 통해 데이터를 효율적으로 관리하고 재사용할 수 있습니다.

a = "memory"

1. Python의 변수 동작 방식

x = 10

👉 10이라는 객체를 메모리(힙)에 생성

👉 x는 그 객체를 “참조(reference)”함

  • 변수 = 값이 아니라 “객체를 가리키는 이름”
  • 숫자, 문자열, 리스트 등 모든 객체는 힙(Heap)에 저장됨
  • 변수 (이름)은 객체를 가리키는 참조이며 내부적으로는 네임스페이스(딕셔너리 구조)에 저장됨
# 네임스페이스(dict 객체) 확인
print(globals())

 

globals()

globals()는 현재 실행 중인 모듈의 전역 네임스페이스를 나타내는 딕셔너리를 반환하는 내장 함수로, 전역 범위에 정의된 변수, 함수, 클래스 등의 이름과 해당 객체 간의 매핑 정보를 확인할 수 있게 해줍니다. 이 딕셔너리를 통해 전역 변수에 접근하거나 값을 조회·수정할 수 있으며, Python에서 변수 이름이 실제로는 네임스페이스(dict)에 저장되어 관리된다는 구조를 이해하는 데 중요한 역할을 합니다.

 

name = '김사과'
age = 20

print(name)
print(age)

name = '반하나'
print(name)

a = 200
b = 200
print(a)
print(b)


print(a is b) # is: 파이썬에서 객체의 동일성을 비교하는 연산자
print(id(a)) # 파이썬 내장 함수로, 주어진 객체의 고유한 메모리 주소를 반환
print(id(b))

 

2. 변수 이름 작성하는 방법

1. 변수 이름은 알파벳(대문자 또는 소문자), 숫자, 밑줄(_)로 구성될 수 있습니다.
2. 숫자로 시작할 수 없습니다.
3. 공백을 포함할 수 없습니다. 대신 밑줄(_)을 사용할 수 있습니다
4. 파이썬의 예약어(키워드)는 변수 이름으로 사용할 수 없습니다. 예약어는 if, for, class, def 등 파이썬이 이미 사용하는 특별한 단어들입니다.

 

 

4. 자료형

파이썬의 자료형은 데이터를 저장하고 처리하기 위한 값의 종류를 말합니다. 어떤 값이 무엇인지(숫자인지, 문자인지, 목록인지 등) 파악하고 처리하는 기준입니다. 파이썬은 동적 타입 언어이기 때문에, 변수에 어떤 값을 넣느냐에 따라 자동으로 자료형이 결정됩니다.
 

1. 기본 자료형 (Primitive Data Types)

숫자형 (Number)

  • 정수형(int): 소수점 없는 숫자 → 10, -3, 0
  • 실수형(float): 소수점 있는 숫자 → 3.14, -0.5

문자열형 (str)

  • 글자들의 집합 (문자열) → "hello", '파이썬'
  • 큰따옴표(")나 작은따옴표(') 둘 다 사용 가능

불린형 (bool)

  • 참(True) 또는 거짓(False) 값을 가짐
  • 조건문 등에 많이 사용
name = '김사과'
age = 20
weight = 50.5
isLover = False

print(name)
print(age)
print(weight)
print(isLover)

print(type(name))
print(type(age))
print(type(weight))
print(type(isLover))

 

2. 집합형 자료형 (Collection Types)

리스트 (list)

  • 여러 값을 순서대로 저장할 수 있는 자료형 → [] 사용
  • 값의 중복 허용, 수정 가능

튜플 (tuple)

  • 리스트처럼 여러 값을 저장하지만 수정 불가능 → () 사용
  • 예: (1, 2, 3)

딕셔너리 (dict)

  • 키(key)와 값(value)의 쌍으로 저장 → {} 사용
  • 순서 보장 (Python 3.7+), 키는 중복 불가

집합 (set)

  • 중복 없는 값들의 모음 → {} 또는 set() 사용
  • 순서 없음, 인덱싱 불가

 

 

5. 자료형 변환

자료형 변환(Type Casting)은 하나의 데이터 타입을 다른 타입으로 바꾸는 것을 의미하며, 데이터의 형태를 상황에 맞게 맞추기 위해 사용됩니다.

 

1. 정수형 > 실수형

a = 10
b = float(a)

 

2. 실수형 > 정수형

c = 3.14
d = int(c)

 

3. 문자형 > 정수형, 실수형

e = "100"
f = int(e)
g = float(e)

 

4. 정수형/실수형 > 문자형

h = 42
i = str(h)

j = 3.14
k = str(j)

 

 

6. 변수 삭제하기

변수를 삭제하기 위해 del 문을 사용할 수 있습니다. del 문은 지정된 변수를 제거하고 해당 메모리 공간을 해제합니다. 변수가 삭제되면 해당 이름으로 변수에 더 이상 접근할 수 없습니다. 주의해야 할 점은 del 문을 사용하여 변수를 삭제할 때 해당 변수에 연결된 메모리가 해제되지만, 변수가 참조하던 값 자체는 삭제되지 않습니다. 

isLover = False
print(isLover)
del isLover
print(isLover)

 

name1 = '김사과'
name2 = name1

del name1

print(name2)

 

가비지 컬렉션(Garbage Collection)

파이썬에서는 변수나 객체를 만들면, 그 값은 메모리의 힙(heap) 영역에 저장됩니다. 하지만 프로그램을 계속 실행하면서 더 이상 사용하지 않는 객체들이 쌓이면 메모리 낭비가 생기게 됩니다. 이때 가비지 컬렉터(GC)가 작동하여, 쓸모없는 객체를 찾아서 자동으로 메모리에서 제거해줍니다.

 

반응형

'인공지능_2026 > 1. 파이썬' 카테고리의 다른 글

컬렉션 타입(리스트, 튜플)  (1) 2026.04.15
연산자  (0) 2026.04.14
파이썬의 입력과 출력  (0) 2026.04.14
문자열 다루기  (0) 2026.04.13
Python 시작과 개발환경 구축  (0) 2026.04.11

관련글 더보기