μ΅œλŒ€ 1 λΆ„ μ†Œμš”

Python νŒ¨ν‚Ήκ³Ό μ–ΈνŒ¨ν‚Ή

νŒŒμ΄μ¬μ—λŠ” νŒ¨ν‚Ή(packing)μ΄λΌλŠ” 문법이 μ‘΄μž¬ν•œλ‹€.
이게 뭐냐?
λ°”λ‘œ μ—¬λŸ¬ 개의 값을 ν•˜λ‚˜μ˜ λ³€μˆ˜μ— λ¬Άμ–΄ λ‹΄λŠ” 것이닀.
이 λ•Œ λ³€μˆ˜μ— λ‹΄κΈ΄ 값듀은 νŠœν”Œ(tuple)ν˜•νƒœλ‘œ 묢인닀.

*을 ν™œμš©ν•œ νŒ¨ν‚Ή

*(μ• μŠ€ν„°λ¦¬μŠ€ν¬)λ₯Ό ν™œμš©ν•΄ νŒ¨ν‚Ήμ„ μ§„ν–‰ν•˜λŠ” 방법은 *λ³€μˆ˜λ‘œ μ‚¬μš©ν•˜λŠ” 것이닀.
이건 남은 μš”μ†Œλ“€μ„ 리슀트(list) ν˜•νƒœλ‘œ νŒ¨ν‚Ήν•œλ‹€.

μ˜ˆμ‹œ

[μž…λ ₯]

my_list = [1, 2, 3, 4, 5]
a, *b, c = my_list

print(a, *b, c)

[좜λ ₯]

> 1, [2, 3, 4], 5

μ–ΈνŒ¨ν‚Ή

μ–ΈνŒ¨ν‚Ή(Unpacking)은 νŒ¨ν‚Ήλœ λ³€μˆ˜μ˜ 값을 κ°œλ³„μ μΈ λ³€μˆ˜λ‘œ λΆ„λ¦¬ν•˜μ—¬ ν• λ‹Ήν•˜λŠ” 것이닀.

*을 ν™œμš©ν•œ μ–ΈνŒ¨ν‚Ή

μ–ΈνŒ¨ν‚Ήλ„ *λ₯Ό ν™œμš©ν•˜λ©΄ λ˜λŠ”λ°, μ‹œν€€μŠ€λ‚˜ 반볡 κ°€λŠ₯ν•œ 객체λ₯Ό 각각 μš”μ†Œλ‘œ λΆ„λ¦¬μ‹œν‚€λŠ” 것이닀.
ν•¨μˆ˜μ˜ 인자둜 전달할 λ•Œ 주둜 μ‚¬μš©ν•œλ‹€.

**을 ν™œμš©ν•œ μ–ΈνŒ¨ν‚Ή

μ΄λŠ” λ”•μ…”λ„ˆλ¦¬μ˜ ν‚€ κ°’ μŒμ„ ν•¨μˆ˜μ˜ ν‚€μ›Œλ“œ 인자둜 μ–ΈνŒ¨ν‚Ήν•˜λŠ” 방식이닀.

μš”μ•½

  • νŒ¨ν‚Ή: μ—¬λŸ¬ 개의 객체λ₯Ό ν•˜λ‚˜μ˜ 객체둜 ν•©μΉ¨
  • μ–ΈνŒ¨ν‚Ή: μ—¬λŸ¬ 개의 객체λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” ν•˜λ‚˜μ˜ 객체λ₯Ό ν’€μ–΄μ€Œ
    • * ν™œμš©: λ™μΌν•˜κ²Œ μœ„μΉ˜ 인자λ₯Ό μ–ΈνŒ¨ν‚Ή ν•˜λŠ” 경우
    • ** ν™œμš©: ν‚€μ›Œλ“œ 인자λ₯Ό μ–ΈνŒ¨ν‚Ή ν•˜λŠ” 경우

참고자료

https://wikidocs.net/22801
https://timedilation.tistory.com/33

νƒœκ·Έ: ,

μΉ΄ν…Œκ³ λ¦¬:

μ—…λ°μ΄νŠΈ:

λŒ“κΈ€λ‚¨κΈ°κΈ°