끄적이는 개발노트

260325_강의 정리 본문

Python

260325_강의 정리

크런키스틱 2026. 3. 25. 17:44
728x90

■ 데이터처리 - 2진수

  • 컴퓨터의 데이터 처리는 2진수로 이루어진다.
    • 숫자
      • 2진수로 변환 ( 정수 : 2진수 / 실수 : 부동소수점 )
    • 텍스트
      • 문자별 코드표를 통해 문자 -> 숫자 -> 2진수로 변환
      • ex) 'A' → 65 → 01000001
      • ASCII(아스키코드), Unicode(유니코드) 같은 문자별 코드표 사용
    • 이미지
      • 각 픽셀의 RGB 값 매핑
      • 0 ~ 255 -> 1byte
      • 픽셀 하나는 3byte로 24bit
    • 사운드
      • 소리는 연속적인 파형
      • 이걸 샘플링해서 숫자로 저장
      • 즉, 시간에 따른 진폭값 배열
    • 동영상
      • 이미지의 연속
  • 데이터 타입이 필요한 이유 : 이렇게 저장되는 2진수 값들이 어떤 타입의 데이터인지 구분하기 위해 사용

 

■ 컴퓨터 구조 및 단위

  • 연산 장치 ( 파이썬 => 연산자 )
  • 제어 장치 ( 파이썬 => if 조건문 / for 반복문 )
    • 연산과 제어를 합쳐서 CPU (+ 레지스터(=임시 저장 장치) + 캐시메모리)
  • 기억 장치 ( 파이썬 => 변수(= 메모리 참조))

 

■ 데이터 크기 단위

  • bit : 최소 정보 단위 (0, 1)
  • 1byte = 8bit => 256가지 표현 (정수로 보면 0~255)
    • tip) 2진수 만들기 : 1 2 4 8 16 32 64 ... => 각 수가 포함되면 1로 체크

 

■ 인코딩과 디코딩

  • 인코딩(Encoding, 부호화)
    • 정보나 데이터를 저장/전송 목적에 맞춰 컴퓨터가 이해할 수 있는 다른 형식(ex. byte)으로 변환하는 작업
    • ex) "A" → 65 (코드값) → 01000001 (2진수)
  • 디코딩(Decoding, 복호화)
    • 인코딩된 데이터를 다시 원래의 형식으로 되돌리는 작업
    • 같은 규칙을 활용하는게 중요

 

■ 메모리 구조

  • Heap
    • 동적메모리할당으로 데이터를 저장하는 영역
    • 메모리 위치를 미리 알 수 없어 스택에 있는 포인터가 힙의 실제 데이터 위치를 참조하는 형태.
  • Stack
    • 함수가 호출될 때 지역 변수, 매개변수, 반환 주소 등을 임시로 저장하는 메모리 공간
    • 마지막에 들어온 데이터가 먼저 나가는 LIFO (Last In, First Out)
    • Python에서는 자동으로 C에서는 pointer에 대한 초기화가 반드시 필요
  • 여기서 변수는 객체를 저장하는 것이 아니라, Heap에 있는 객체를 참조하는 이름
  • 동적메모리할당 : 프로그램 실행 중(runtime)에 필요한 만큼 메모리를 요청해서 사용하는 것

 

■ Python 특징

  • 모든 값이 객체
  • 모든 변수는 값을 저장하는게 아니라 객체를 참조
728x90

'Python' 카테고리의 다른 글

260330_강의정리  (0) 2026.03.30
260326_Python 실습 정리  (0) 2026.03.27
260327_강의정리  (0) 2026.03.27
260325_Python 실습 정리  (0) 2026.03.26
260326_강의 정리  (0) 2026.03.26