[Python] 09. 변수(Variable)

2023. 11. 5. 03:28·Programming Language(Sub)/Python
목차
  1. 변수가 생성되는 과정

변수(Variable)


  • 변수 : 자료형의 값을 저장하는 공간

  • 파이썬에서 변수는 객체라고 봐도 무방함

변수가 생성되는 과정

  • a = [1, 2, 3]

    • [1, 2, 3] 값을 가지는 리스트 자료형(객체)가 자동으로 메모리에 생성됨

    • a는 [1, 2, 3]이 저장된 메모리 주소를 가리킨다.

  • a 변수가 가리키는 주소

    a = [1, 2, 3]
    id(a)
    res : 4304411776 # 변수의 주소
    • 변수의 주소는 실행될 때 마다 다름
  • 리스트를 복사할 때

    a = [1, 2, 3]
    b = a
    • b 와 a 는 완전히 동일하다. b가 a의 주소를 받은거다. (C의 포인터에서 얕은 복사느낌)

      id(a) == id(b) # 또는 a is b (a와 b가 가리키는 객체가 동일하나요?)
      res : true
      a[1] = 4
      b[1]
      res : 4 
      --> 같은 곳을 가리키고 있기 때문
  • 리스트 복사할 때 두 객체가 다른 곳을 가리키고, 값만 같게 복사하는 방법

    • [:]사용

      a = [1, 2, 3]
      b = a[:] # a의 처음부터 끝까지 슬라이싱
    • copy 모듈 사용

      from copy import copy
      a = [1, 2, 3]
      b = copy(a)
  • 변수를 만드는 여러가지 방법

    • a, b = ('python', 'life') 튜플로 a, b에 값을 대입할 수 있다.

    • [a,b] = ['python', 'life'] 처럼 리스트로 변수를 만들 수도 있다.

    • a = b = 'python' --> 여러개의 변수에 같은 값을 대입할 수 있다.

    • 두 변수의 값 바꾸기 (swap)

      a = 3
      b = 5
      a, b = b, a # a와 b의 값을 바꿈

참조) Do it! 점프 투 파이썬 (박응용 지음)

'Programming Language(Sub) > Python' 카테고리의 다른 글

[Python] 10. if 문(if statements)  (0) 2023.11.05
[Python Advanced] Object(객체) 저장 구조에 대한 탐구  (0) 2023.11.05
[Python] 08. 불(bool) 자료형  (0) 2023.11.05
[Python] 07. 딕셔너리(Dictionary) 자료형  (0) 2023.11.05
[Python] 06. 집합(set) 자료형  (0) 2023.11.05
  1. 변수가 생성되는 과정
'Programming Language(Sub)/Python' 카테고리의 다른 글
  • [Python] 10. if 문(if statements)
  • [Python Advanced] Object(객체) 저장 구조에 대한 탐구
  • [Python] 08. 불(bool) 자료형
  • [Python] 07. 딕셔너리(Dictionary) 자료형
lumana
lumana
배움을 나누는 공간 https://github.com/bebeis
  • lumana
    Brute force Study
    lumana
  • 전체
    오늘
    어제
    • 분류 전체보기 (456) N
      • Software Development (27)
        • Performance (0)
        • TroubleShooting (1)
        • Refactoring (0)
        • Test (8)
        • Code Style, Convetion (0)
        • DDD (0)
        • Software Engineering (18)
      • Java (71)
        • Basic (5)
        • Core (21)
        • Collection (7)
        • 멀티스레드&동시성 (13)
        • IO, Network (8)
        • Reflection, Annotation (3)
        • Modern Java(8~) (12)
        • JVM (2)
      • Spring (53)
        • Framework (12)
        • MVC (23)
        • Transaction (3)
        • AOP (11)
        • Boot (0)
        • AI (0)
      • DB Access (1)
        • Jdbc (1)
        • JdbcTemplate (0)
        • JPA (14)
        • Spring Data JPA (0)
        • QueryDSL (0)
      • Computer Science (129) N
        • Data Structure (27)
        • OS (14)
        • Database (10)
        • Network (21)
        • 컴퓨터구조 (5) N
        • 시스템 프로그래밍 (23)
        • Algorithm (29)
      • HTTP (8)
      • Infra (1)
        • Docker (1)
      • 프로그래밍언어론 (15)
      • Programming Language(Sub) (77)
        • Kotlin (1)
        • Python (25)
        • C++ (51)
        • JavaScript (0)
      • FE (11)
        • HTML (1)
        • CSS (9)
        • React (0)
        • Application (1)
      • Unix_Linux (0)
        • Common (0)
      • PS (13)
        • BOJ (7)
        • Tip (3)
        • 프로그래머스 (0)
        • CodeForce (0)
      • Book Review (4)
        • Clean Code (4)
      • Math (3)
        • Linear Algebra (3)
      • AI (7)
        • DL (0)
        • ML (0)
        • DA (0)
        • Concepts (7)
      • 프리코스 (4)
      • Project Review (6)
      • LegacyPosts (11)
      • 모니터 (0)
      • Diary (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
lumana
[Python] 09. 변수(Variable)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.