μμ 볡μ¬μ κΉμ 볡μ¬μ μ°¨μ΄μ
νμ΄μ¬μμ κ°μ²΄(Object)
λ λ°μ΄ν°μ κ·Έ λ°μ΄ν°λ₯Ό λ€λ£¨λ λ°©λ²(λ©μλ)λ₯Ό ν¨κ» λ΄κ³ μλ κΈ°λ³Έμ μΈ λ°μ΄ν° λ¨μμ
λλ€.
νμ΄μ¬μμλ μ«μ, λ¬Έμμ΄, μ§ν© λ± κ±°μ λͺ¨λ κ²μ΄ κ°μ²΄λΌκ³ ν μ μμ΅λλ€.
κ°μ²΄λ₯Ό 볡μ¬νλ λ°©λ²μλ μμ 볡μ¬(Shallow Copy)
μ κΉμ 볡μ¬(Deep Copy)
κ° μμ΅λλ€.
-
μμ 볡μ¬λ μλ³Έμ΄λ 볡μ¬λ³Έ μ€ νλλ₯Ό λ³κ²½νλ©΄ λ€λ₯Έ νλμλ μν₯μ λ―ΈμΉ©λλ€.
-
κΉμ 볡μ¬λ μλ³Έκ³Ό 볡μ¬λ³Έμ΄ μμ ν λ 립μ μ΄λ―λ‘, νμͺ½μ λ³κ²½νλλΌλ λ€λ₯Έ μͺ½μλ μν₯μ λ―ΈμΉμ§ μμ΅λλ€.
μμ 볡μ¬(Shallow Copy)
μμ 볡μ¬
λ 볡μ¬λ κ°μ²΄μ μλ³Έ κ°μ²΄κ° λ΄λΆ κ°μ²΄λ₯Ό 곡μ ν©λλ€.
λ°λΌμ 볡μ¬λ κ°μ²΄λ₯Ό λ³κ²½νλ©΄ μλ³Έ κ°μ²΄λ ν¨κ» λ³κ²½λ©λλ€.
μλ‘μ΄ λ¦¬μ€νΈλ₯Ό μ μνλ list()
ν¨μλ₯Ό μ¬μ©νλ©΄ μμ 볡μ¬
λ₯Ό μνν μ μμ΅λλ€.
μλ μ½λ μμλ μμ 볡μ¬λ₯Ό μνν ν, 볡μ¬λ κ°μ²΄μ μμλ₯Ό λ³κ²½νλ©΄ μλ³Έ κ°μ²΄λ ν¨κ» λ³κ²½λ¨μ 보μ¬μ€λλ€.
# μλ³Έ 리μ€νΈ μμ± original = [1, 2, 3, [4, 5, 6]] # μμ λ³΅μ¬ μν ν 'shallow_copied'μ ν λΉ shallow_copied = list(original) # 'shallow_copied'μ μ€μ²©λ 리μ€νΈ μμ λ³κ²½ shallow_copied[3][0] = 99 # μλ³Έ 리μ€νΈλ λ³κ²½λ¨ print("Original:", original) # [1, 2, 3, [99, 5, 6]]
μ μμμμ shallow_copied
리μ€νΈμ μ€μ²©λ 리μ€νΈ [4, 5, 6]
λ₯Ό λ³κ²½νλ©΄, μλ³Έ 리μ€νΈμΈ original
λ ν¨κ» λ³κ²½λ©λλ€.
κΉμ 볡μ¬(Deep Copy)
κΉμ 볡μ¬
λ κ°μ²΄μ λͺ¨λ κ³μΈ΅μμ μλ‘μ΄ κ°μ²΄λ₯Ό μμ±ν©λλ€.
μ΄λ κ² λ³΅μ¬λ κ°μ²΄λ μλ³Έ κ°μ²΄μ μμ ν λ 립μ μ΄κΈ° λλ¬Έμ, μλ³Έ κ°μ²΄λ₯Ό λ³κ²½ν΄λ 볡μ¬λ κ°μ²΄μλ μλ¬΄λ° μν₯μ λ―ΈμΉμ§ μμ΅λλ€.
μλ μ½λ μμλ κΉμ 볡μ¬λ₯Ό μνν ν, 볡μ¬λ κ°μ²΄μ μμλ₯Ό λ³κ²½ν΄λ μλ³Έ κ°μ²΄μλ μν₯μ λ―ΈμΉμ§ μμμ 보μ¬μ€λλ€.
# 'copy' λͺ¨λμ import import copy original = [1, 2, 3, [4, 5, 6]] deep_copied = copy.deepcopy(original) deep_copied[3][0] = 99 # κ²°κ³Ό μΆλ ₯ print("Original:", original) # [1, 2, 3, [4, 5, 6]] μΆλ ₯ : μλ³Έ 리μ€νΈλ λ³κ²½λμ§ μμ print("Deep Copied:", deep_copied) # [1, 2, 3, [99, 5, 6]] μΆλ ₯ : 볡μ¬λ 리μ€νΈλ§ λ³κ²½λ¨
μ μ½λμμ import
ν€μλλ μΈλΆμ μ½λλ₯Ό κ°μ Έμ μ¬μ©ν μ μλλ‘ λμ΅λλ€.
copy
λͺ¨λμ νμ΄μ¬μ κΈ°λ³Έμ μΌλ‘ λ΄μ₯λμ΄ μλ λͺ¨λλ‘, copy.deepcopy()
ν¨μλ₯Ό μ¬μ©νμ¬ κΉμ 볡μ¬λ₯Ό μνν μ μμ΅λλ€.
μ°Έκ³ : νλ‘κ·Έλλ°μμ
λͺ¨λ(Module)
μ ν¨μ, λ³μ, ν΄λμ€ λ±μ λͺ¨μλμ μΈλΆ μ½λ νμΌμ μλ―Έν©λλ€.
μλ λΉμΉΈμ κ°μ₯ μ μ ν λ¨μ΄λ 무μμΌκΉμ?
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result