ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Day 01, TIL] 파이썬의 메모리 구조와 객체 지향의 이해
    컴퓨터, AI/(국비) Bio-Health AI 2026. 3. 30. 22:36

     

    2026. 3. 25 (수)  수업내용 정리

     

    1. 파이썬 변수는 왜 특별 할까?

    - 파이썬에서 변수는 단순히 값을 저장하는 공간이 아닌, 데이터가 저장된 메모리의 주소를 가리키는 포인터(pointer)

    - 포인터(pointer) :  실제 데이터 저장이 아닌 '주소값 저장'

      # 포인터는 반드시 초기화 해야한다 -> 안하면 프로그램 중단됨

      - stack : 변수명이 생성되는 공간 / 함수 동작 시 필요한 필요한 데이터 저장

      - heap

         ▷ 실제 데이터 저장(객체 저장)

         ▷ 동적메모리할등으로 데이터 저장

     

    stack과 heap 도식화 및 설

     

    파이썬은 모든것이 객체(object)이다

     

    파이썬은 완전객체지향 프로그램이며, 1급 객체이다. 즉, 함수를 변수에 담을 수도 있고, 다른 함수의 인자로 전달 할 수도 있다.

     

    problem = input('수식을 입력하세요')  #예: 23 + (2 * x)
    x = 5
    print(f'입력된 수식 : {problem}')
    print(f'계산결과 : {eval(problem)}') 
    # eval() : 문자열로 된 수식을 인식해서 계산까지 해주는 함수
    
    #데이터 타입 확인 (함수에 함수를 전달하는 구조)
    print(f'( 계산 결과 : {type(eval(problem))}')

     

     

     

    2. int 와 float

    • int : int는 원래 4바이트였는데, 4바이트 이상 저장가능하게 바뀌었다
    • float : 부동소수점

          부동소수점 예시 : 32.123 

                                   -> 0.32123 (모두 0.~ 식으로 변환) + 10²

                                                            ↓                               

                                                  가수부 (3바이트)             지수부(1바이트)

     

    3. 연산순위

     1) 단항연산자  : 8²(제곱근), -3(단항마이너스), +5(단항플러스) 등

     2) 제곱근이 다른 단항연산자보다 우선 순위이다

     

    # 연산 우선순위 예제
    print( -3**2)
    #결과는 -9일까 아니면 9일까?
    # 제곱(**)이 단항마이너스(-)보다 우선순위이므로, 3의 제곱 = 9에 마이너스(-)가 붙어서 -9가 정답이다!
    
    print((-3)**2) 
    #괄호를 사용하면 단항마이너스가 먼저 적용되어 9가 된다!

     

     

     

    4. 문자열

      1) 기본적으로 1차원 배열

      2) 연속된 메모리에 저장

      3) immutable(수정불가)

      4) 인덱스로 접근이 가능

      5) 모든 파이썬 변수는 객체다 -> 사이즈가 다양해서 문자열 개수를 같이 저장한다

     

     

Designed by Tistory.