[Python] 파이썬의 전달 방식은 값 전달? 참조 전달?

2024. 12. 3. 12:03·Tips
파이썬의 전달 방식

 정답부터 말하자면, 파이썬의 전달 방식은 call by assignment이다. 다르게는 call by object-reference 또는 call by sharing이라고 부르기도 한다. 모두 같은 의미로, 파이썬에서는 함수 호출 시 인자를 객체에 대한 참조로 전달한다는 것이다.

 

 이해를 돕기 위해 예시를 들자면, int나 str 같은 데이터 타입의 경우 불변 객체이기 때문에 함수 내에서 값을 변경하려 해도 원래 객체에는 영향을 미치지 않게 된다. 반면, list나 set 같은 가변 객체의 경우 함수 내에서 변경을 시도하면 원래 객체도 변경된다. 즉, call by value와 call by reference가 혼합된 형태라고 이해하면 된다.


객체 참조 전달 방식

불변 객체 → call by value

가변 객체 → call by reference

'Tips' 카테고리의 다른 글

파이썬에서 리스트를 뒤집는 세 가지 방법  (0) 2024.12.07
[Python] Three Methods to Reverse a List  (1) 2024.12.06
[Python] Call by Value, Call by Reference?  (2) 2024.12.02
[GitHub] 최근 커밋 완전히 삭제하기  (1) 2024.11.30
[GitHub] Deleting the Most Recent Commit  (2) 2024.11.29
'Tips' 카테고리의 다른 글
  • 파이썬에서 리스트를 뒤집는 세 가지 방법
  • [Python] Three Methods to Reverse a List
  • [Python] Call by Value, Call by Reference?
  • [GitHub] 최근 커밋 완전히 삭제하기
UTACT
UTACT
시작은 가볍게 이유는 무겁게
  • UTACT
    Software Engineer
    UTACT
    • GitHub
  • 전체
    오늘
    어제
  • 공지사항

    • README
  • 최근 글

    • 분류 전체보기 (126)
      • Project Logs (2)
        • DashHub (2)
        • Re:Act (0)
        • Samsung NW (0)
      • Engineering Notes (76)
        • Java & Spring (44)
        • Database & Persistence (1)
        • DevOps & Infra (4)
        • CS & Algorithms (26)
        • Security (1)
      • Reflections (5)
        • Retrospectives (1)
        • Feedback Received (3)
        • Challenges (1)
      • Tips (24)
      • Archive (19)
  • 태그

    where-was-i
    hate-cnu
    OOP
    도커
    IntelliJ
    VS Code
    heapify
    REST
    JPA
    Array
    BOJ
    데이터 영속성
    .prettierrc
    팀 정렬
    인접 노드 리스트
    듀얼 피봇 퀵 정렬
    버프 슈트
    iamdefinitelyabackenddeveloper
    DS
    Data Type
    cherry-pick
    vite
    토스페이먼츠
    타입 소거
    @CreatedDate
    CS
    Python
    heap
    Reallocation
    BFS
  • hELLO· Designed By정상우.v4.10.6
UTACT
[Python] 파이썬의 전달 방식은 값 전달? 참조 전달?
상단으로

티스토리툴바