-
ํ์ด์ฌ - Call by assignmentComputer Science/Python 2023. 8. 3. 20:01๋ฐ์ํ
ํ์ด์ฌ์ ํจ์์ ์ธ์๋ฅผ ์ ๋ฌํ ๋, ์ด๋ call by assignment ๋ผ๋ ๋ฐฉ์์ผ๋ก ์ ๋ฌ๋๋ค.
์ด๋ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋ฐ๋ ๊ฐ์ฒด์ ๋ฐ๋ผ ๊ฐ์ฒด์ ์ฐธ์กฐ๋ฐฉ์์ด ๊ฒฐ์ ๋๋ค๋ ์๋ฏธ๋ก, ๊ณต์ ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด Mutual ๊ฐ์ฒด๋ call by reference ํํ๋ก ์ฐธ์กฐํ์ผ๋ก ๋ณ์๋ฅผ ๋ค๋ฃจ๋ฉฐ immutable ๊ฐ์ฒด๋ call by value์ ํํ๋ก ๋ณ์๋ฅผ ํธ๋ค๋งํ๋ค.
- Mutable object: list, dict, set ๋ฑ์ ๋ณ๊ฒฝ๊ฐ๋ฅํ ๊ฐ์ฒด
- Immutable object: str, int, tuple ๋ฑ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฐ์ฒด
๊ฐ๋ น ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ ์ ๋ฌ๋๋ ๊ฐ์ฒด์ ๋ฐ๋ผ ํ์ด์ฌ์ด ๋ณ์๋ฅผ ์ด๋ป๊ฒ ํธ๋ค๋งํ๋์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด
์ฒซ๋ฒ์งธ ์ฝ๋์์๋ ํจ์๋ฅผ ํธ์ถํ ๋ ์ซ์๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๊ธฐ ๋๋ฌธ์ call by value๋ก ์๋ก ๋ณ์๋ฅผ ํ ๋นํด์ ์ฒ๋ฆฌํ๋ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ๊ณ
๋๋ฒ์งธ ์ฝ๋์์๋ ํจ์๋ฅผ ํธ์ถํ ๋ list๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๊ธฐ ๋๋ฌธ์ call by reference๋ก ์ ๋ฌ๋ฐ์ ๊ฐ์ฒด๋ฅผ ์ง์ ๋ณ๊ฒฝํ๋ค.
์ ๋ฆฌํ๋ฉด
mutableํ๋ฉด ํจ์ ์ธ๋ถ์์๋ ์๋ณธ ๋ณ์๋ฅผ ๋ณ๊ฒฝ์ํค๊ณ
immutableํ๋ฉด ํจ์์์ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ํ ๋นํ๊ธฐ ๋๋ฌธ์ ์ธ๋ถ์์ ๋ณ๊ฒฝ๋์ง ์๋๋ค.
'Computer Science > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ด์ฌ ๋ด์ฅํจ์ (0) 2023.08.06 ํ์ด์ฌ ์ฌ๋ผ์ด์ฑ - Stride (0) 2023.07.29 bytes, str, unicode์ ์ฐจ์ด์ (0) 2023.07.28 ํ์ด์ฌ split ํจ์ (๋ฌธ์์ด ์ชผ๊ฐ๊ธฐ) (0) 2023.07.26