Python 기초

2 . 파이썬 변수

imysydesu 2026. 5. 21. 12:25

 

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

 

      - 변수는 메모리라는 공간에 데이터를 저장하고 이름을 붙이는 것이기 때문에 컴퓨터가 데이터를 어떻게 저장하고

        처리하는지 이해하는 것이 중요하다.

 

1 - 1 . 주요 구성 요소

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

 

1 - 2 . CPU (중앙처리장치)

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

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

 

1 - 3 . 메모리 (RAM)

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

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

 

1 - 4 . GPU(그래픽카드)

  • 병렬처리 -> 복잡하고 순차적인 업무를 빠르게 계산
  • CPU도 계산을 하지만 GPU가 속도가 더 빠름

 


 

 

2 . Python 파일 (.py) 실행

 

  • Python 코드는 단순한 텍스트 파일(.py)
  • 실행되는 순간 CPU와 메모리를 통해 실제 프로그램으로 동작
  • Python => 인터프리터 언어(코드를 한 줄씩 읽고 실행)
  • .py 파일이 저장장치 → 메모리(RAM)로 올라옴 (메모리에서 작업)
  • 메모리에서 CPU가 작업 =>  CPU → RAM에서 코드 읽기 → 실행

 


 

3 . 변수

 

 

        = 데이터를 담아두는 이름표가 붙은 상자

  • 값을 메모리에 저장, 필요할 때 꺼내 쓰기 위해 만듦
  • 메모리 주소 대신 사람이 이해하기 쉬운 이름을 붙임
  • 한 번 정해둔 값에 다른 값을 넣을 수 있음
  • 데이터를 효율적으로 관리, 재사용할 수 있음

 a = 'memory' 일 때

  • a에 문자열 타입의 변수 'memory'를 넣음
  • 메모리에 a에 관한 정보가 같이 저장됨

 

 

3 - 1 . Python의 변수 동작 방식

 

x = 10일 때 

 

  • 10이라는 객체를 메모리(힙)에 생성
  • x는 그 객체를 “참조(reference)”함

       = 10 -> x -> 주소 순으로 생성

  • 변수 = 값이 아니라 “객체를 가리키는 이름”
  • 숫자, 문자열, 리스트 등 모든 객체는 힙(Heap)에 저장됨

       - 메모리는 힙, 스택, 코드, 데이터 영역으로 나뉘고 우선 힙에 저장됨

  • 변수 (이름)은 객체를 가리키는 참조이며 내부적으로는 네임스페이스(딕셔너리 구조)에 저장됨

       - 네임스페이스 (globals()) : 현재 프로그램의 전역 변수들을 관리하는 명단, 가지고 있는 변수들을 보여줌

 

 

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

  • 변수 이름은 알파벳(대문자 또는 소문자), 숫자, 밑줄(_)로 구성
  • 숫자로 시작할 수 없음
  • 공백을 포함할 수 없고 대신 밑줄(_) 사용
  • 파이썬의 예약어(키워드)는 변수 이름으로 사용할 수 없음 

        - 파이썬의 예약어 : if, for, class, def 등 

 

 

 


 

 

 

4 . 자료형 

 

       - 데이터를 저장하고 처리하기 위한 값의 종류

       - 파이썬에서 기본으로 지원하는 자료형의 종류는 총 8개

 

 

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

 

숫자형 (Number)

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

문자열형 (str)

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

불린형 (bool)

  • 참(True) 또는 거짓(False) 값을 가짐
  • 조건문 등에 많이 사용

 

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

 

리스트 (list)

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

 

튜플 (tuple)

  • 리스트처럼 여러 값을 저장하지만 수정 불가능 → () 사용
  • 예 : b = (10, 20, 30)

 

딕셔너리 (dict)

  • 키(key)와 값(value)의 쌍으로 저장 → {} 사용
  • 순서 보장 (Python 3.7+), 키는 중복 불가
  • 예 : a = {"no":1, "userid":"apple", "name":"김사과}

 

집합 (set)

  • 중복 없는 값들의 모음 → {} 또는 set() 사용
  • 순서 없음, 인덱싱 불가
  • 예 : a = {10, 20, 30}

 

 

 

### 집합형 자료형 정리 ###

  리스트(list) 튜플(tuple) 딕셔너리(dict) 집합(set)
기호 [] 대괄호 () 소괄호 {} 중괄호 {} 중괄호 
- 값이 없는 set을 만들 경우에만 set() 사용
중복  가능 가능 키 중복 불가능 불가능
수정 가능 불가능 가능 가능
인덱스 가능 가능 파이썬 3.7이후부터 가능 불가능

 

 

 

 


 

 

5 . 자료형 변환

 

 

        - 형 변환 : 데이터 타입을 다른 타입으로 바꾸는 행위

        - 캐스팅 : 다른 언어에서 주로 쓰임, 형 변환을 한다는 의미로 사용 ex) 정수를 문자로 캐스팅해줘

 

 

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문으로 변수를 삭제해 두 번째 print() 문에서 오류 발생

 

 

 

- del문으로 name1의 변수를 삭제했지만 참조하고 있는 name2의 값은 유지

  => print(name2) 시 '김사과' 출력

 

 

 


 

 

 

7 . 가비지 컬렉션(Garbage Collection)

파이썬에서는 변수나 객체를 만들면, 그 값은 메모리의 힙(heap) 영역에 저장

하지만 프로그램을 계속 실행하면서 더 이상 사용하지 않는 객체들이 쌓이면 메모리 낭비가 생기게 됨

이때 가비지 컬렉터(GC)가 작동하여, 쓸모없는 객체를 찾아서 자동으로 메모리에서 제거해 줌

 

 

- a에 30, 60 순서대로 값을 줬을 때 값 30은 이제 사용하지 않는 값이 돼서 가비지 컬렉션 사용

'Python 기초' 카테고리의 다른 글

6 . 컬렉션 타입 (리스트, 튜플)  (0) 2026.05.26
5 . 연산자  (0) 2026.05.22
4 . 파이썬의 입출력  (0) 2026.05.22
3 . 문자열 다루기  (0) 2026.05.21
1 . windows 파이썬 설치, 개발환경 구축  (0) 2026.05.20