๐ฅ ํ์ด์ฌ(Python)์ ๊ฐ์ฒด ์งํฅ ์ธ์ด์ด๋ค. Python์ ๋ชจ๋ ๋ฐ์ดํฐ ํ์ ๋ค์ ๊ฐ์ฒด(object)์ด๋ฉฐ, ๊ฐ์ฒด ๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ ์์์ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ค.
๐น ๊ฐ์ฒด๋?
์ด๋ ํ ์์ฑ๊ฐ๊ณผ ํ๋์ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ.
ํ์ด์ฌ์ ๋ชจ๋ ๊ฒ๋ค(์ซ์, ๋ฌธ์, ํจ์ ๋ฑ)์ ์ฌ๋ฌ ์์ฑ๊ณผ ํ๋์ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ์ด๋ค.
์ด๋ฌํ ๊ฐ์ฒด๋ค์ด ๊ฐ์ง ์์ฑ์ค์ ์ํ๋ value, ๋๋ attribute๋ผ๊ณ ํ๊ณ , ๊ฐ์ฒด๊ฐ ๊ฐ์ง ํ๋์ method๋ผ๊ณ ํ๋ค.
๊ฐ์ฒด๋ ๊ฐ๋ณ(mutable)๊ฐ์ฒด, ๋ถ๋ณ(immutable)๊ฐ์ฒด๋ก ๋๋๋ค.
๊ฐ๋ณ๊ฐ์ฒด | ๋ถ๋ณ๊ฐ์ฒด |
list, set, dict | int, float, bool, tuple, string, unicode |
๐น ๊ฐ์ฒด์ 3๊ฐ์ง ํน์ฑ
1. ๊ฐ(value)
๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ๋ก๋ ๋ด์ฉ.
๊ฐ๋ณ ๊ฐ์ฒด๋ ๊ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ, ๋ถ๋ณ ๊ฐ์ฒด๋ ๊ฐ ๋ณ๊ฒฝ X
2. ์ ํ(type)
๊ฐ์ฒด์ ์ ํ.
3. ์ ์ฒด์ฑ(identity)
๊ฐ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์๋ณํ๊ธฐ ์ํ id ๊ณ ์ ๋ฒํธ(๋ฉ๋ชจ๋ฆฌ ์์ ์์นํ ์ฃผ์ ๊ฐ)๋ฅผ ๋งํ๋ค.
๐น ๊ฐ๋ณ๊ฐ์ฒด์ ๋ถ๋ณ๊ฐ์ฒด
๊ฐ๋ณ๊ฐ์ฒด์ ๋ถ๋ณ๊ฐ์ฒด๋ id ์ฃผ์๊ฐ์ด ๋ณ๊ฒฝ๋๋๊ฐ(mutable), ๋ณ๊ฒฝ๋์ง์๋๊ฐ(immutable)์ ์ฐจ์ด๋ค.
id ์ฃผ์๊ฐ์ด ๋ณ๊ฒฝ๋์ง์์ผ๋ฉด ๊ฐ๋ณ๊ฐ์ฒด๊ณ ,
id ์ฃผ์๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ๋ถ๋ณ๊ฐ์ฒด๋ค.
๐ฅฟ ๊ฐ๋ณ๊ฐ์ฒด
์์ฑ ์ดํ ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ ๊ฐ์ฒด.
โ list, set, dict
โ ๊ฐ์ ๋ฐ๊พธ๋ ค๋ฉด ๊ฐ์ฒด๋ฅผ ์๋กญ๊ฒ ์์ฑํด์ผ ํ๋ค. (์ด๋ถ๋ถ์ ๋ถ๋ณ๊ฐ์ฒด์ ๋์ผ)
โ ๊ฐ์ฒด์ ํ ๋น๋ ๊ฐ์ ์์ ํ ์ ์๋ค.
ex)
# List
>>> list = [1, 2, 3, 4]
>>> id(list)
68189960
>>> list[1] = 100
>>> print(list)
[1, 100, 3, 4]
>>> id(list)
68189960 # id ์ฃผ์๊ฐ์ด ๊ทธ๋๋ก์.
# set
>>> set = {1, 2, 3, 4}
>>> id(set)
68835784
>>> set.update([4,5,6])
>>> print(set)
{1, 2, 3, 4, 5, 6}
>>> id(set)
68835784 # id ์ฃผ์๊ฐ์ด ๊ทธ๋๋ก์.
# dictionary
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> id(d)
75455056
>>> d['d'] = 4
>>> print(d)
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> id(d)
75455056 # id ์ฃผ์๊ฐ์ด ๊ทธ๋๋ก์.
๐ฅฟ ๋ถ๋ณ๊ฐ์ฒด
์์ฑ ์ดํ ๊ฐ์ ๋ฐ๊ฟ ์ ์๋ ๊ฐ์ฒด.
โ int, float, bool, tuple, string, unicode
โ ๋ถ๋ณ ๊ฐ์ฒด๋ ์์ฑ๋ ๋ ๊ทธ ๊ฐ์ด ๊ฒฐ์ ๋๋ค.
โ ๊ฐ์ฒด์ ํ ๋น๋ ๊ฐ์ ์์ ํ ์ ์๋ค.
โ ์ธ๋ถ์์ ์์๋ก ๋ด๋ถ์ ๊ฐ์ ์ ์ดํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด์ ์์จ์ฑ์ด ๋ณด์ฅ๋๋ค.
โ ๊ฐ์ด ๊ณ ์ ์ ์ด๋ฏ๋ก ํ๋ก๊ทธ๋จ์ ์์ ๋๊ฐ ๋๋ค.
# int
>>> a = 1
>>> id(a)
1843455920
>>> a = 2
>>> id(a)
1843455936 # ๊ฐ์ ๋ฐ๊พผ๊ฒ ์๋๋ผ ์๋ก์ด ๊ฐ์ฒด๋ก ์ฌ์ ์ํจ.
# String
>>> a = 'a'
>>> id(a)
26561120
>>> a = 'b'
>>> id(a)
26592736
# tuple
>>> a = (1, 2)
>>> id(a)
68615912
>>> a = (1, 2, 3)
>>> id(a)
67963592
# float
>>> a = 1.2
>>> id(a)
75120720
>>> a = 2.2
>>> id(a)
75122864
# bool
>>> a = True
>>> id(a)
1843331392
>>> a = False
>>> id(a)
1843331408
Python Glossary(ํ์ด์ฌ ์ฉ์ด ์ค๋ช ์ง) : https://docs.python.org/3/glossary.html
๊ฐ๋ ์ด ๋ช ํํ์ง ์์ ์ฉ์ด๊ฐ ์์ผ๋ฉด ์์ ๊ณต์ํํ์ด์ง ์ฉ์ด์ง์์ ํ์ธํ ์ ์๋ค.
'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] string, dictionary, tuple์ for in ๋ฐ๋ณต๋ฌธ๊ณผ ๊ฐ์ด ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2021.11.20 |
---|---|
[Python] List ์๋ฃํ์ ๋ฉ์๋ (0) | 2021.11.20 |
[Python] ํด๋์ค๋ ๋ณ์ ๋ฑ์ ํฌํจํ ๋ชจ๋ (0) | 2021.04.12 |
[Python] ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ (0) | 2021.04.12 |
[Python] ๋ชจ๋ ๋ง๋ค๊ธฐ (0) | 2021.04.06 |
๋๊ธ