Python 3.9.5 ๋ฒ์ ์ ์ฌ์ฉ
๋ณ์๊ฐ ๋ฌด์์ธ๊ฐ?
x = 100
y = 20.5
์์ ์์ ์ฒ๋ผ x ์ y๊ฐ ๋ณ์ ์ ๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ ํด๋ณด์ง ์์๋ x๋ผ๋ ๋ณ์๋ 100์ด๊ณ y๋ผ๋ ๋ณ์๋ 20.5๋ผ๋ ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ํ์ ์ผ๋ก "=" ๋ฑํธ ๊ธฐํธ๊ฐ "๊ฐ๋ค"๋ผ๋ ์๋ฏธ๋ก ๋ฐฐ์์ ๋ณธ๋ฅ์ ์ผ๋ก ์๊ณ ์๋๊ฑฐ์ฃ . ๊ทธ๋์ ๋ง์ฝ "x + y ์ ๊ฒฐ๊ณผ๊ฐ ์ด๋ป๊ฒ ๋๋์?"๋ผ๊ณ ์ง๋ฌธํ๋ฉด "120.5 ์ ๋๋ค!"๋ผ๊ณ ๋น๋นํ๊ฒ ๋ตํ ์ ์์ ๊ฒ ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ ํ๋ก๊ทธ๋๋ฐ์์ ๋ฑํธ(=) ๊ธฐํธ๊ฐ "๊ฐ๋ค"๋ผ๋ ์๋ฏธ๊ฐ ์๋๋ผ "๋์ ํ๋ค"์ ์๋ฏธ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. "x + y"์ ๊ฐ์ ์ฐ์ฐ์ "๊ฐ๋ค"๋ผ๋ ์๋ฏธ๋ก ํด์ํด์ ์ฌ์ฉํด๋ ํฐ ๋ฌธ์ ๋ ์์ ๋งํผ ํ๋ก๊ทธ๋๋ฐํ ๋ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ฝ์ต๋๋ค. ํ์ง๋ง ๋ณ์๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ์ฌ๋ฌ ๋ฐฐ๊ฒฝ์ง์์ด ํ์ํฉ๋๋ค.
๋ณ์๋ฅผ ์ดํดํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์์ผํ๋ค.
๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ผญ ์์์ผํ๋ ์ด์ ๋... ๋ณ์๊ฐ ๊ฐ์ ์ด๋์ ์ด๋ป๊ฒ ์ ์ฅํ๊ณ ์ฝ์ด์ค๋์ง๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ์ ๋๋ค.
์ปดํจํฐ๋ฅผ ๊ตฌ๋งคํ ๋ ์ฌ์์ ๋น๊ตํด๋ณธ์ ์ด ์์ผ์ค๊ฒ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก CPU, ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ ์ฉ๋์ ๋น๊ตํ๋๋ฐ... ์ ๋ฉ๋ชจ๋ฆฌ๋ HDD๋ SSD๊ฐ์ ์ ์ฅ์ฅ์น๋ณด๋ค ์ฉ๋์ ์์น๊ฐ ์ ์์ง ๊ถ๊ธํด ํด๋ณด์ ์ ์์ผ์ ๊ฐ์?
๋ฉ๋ชจ๋ฆฌ์ ํ๋๋์คํฌ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋งค์ฒด์ ๋๋ค. ๋ ์ ์ฅ๋งค์ฒด์ ์ฐจ์ด์ ์ ๋น๊ตํด๋ณด๋ฉด ํ๋๋์คํฌ๋ ๋๋ฆฌ์ง๋ง ๋ฐ์ดํฐ๊ฐ ์๊ตฌ์ (๋นํ๋ฐ์ฑ)์ด๊ณ ๋ฉ๋ชจ๋ฆฌ๋ ๋น ๋ฅด์ง๋ง ๋ฐ์ดํฐ๊ฐ ๋น์๊ตฌ์ (ํ๋ฐ์ฑ)์ธ ํน์ง์ ๊ฐ๊ณ ์์ด ์ฌ์ฉ์ฉ๋๊ฐ ์กฐ๊ธ์ฉ ๋ค๋ฆ ๋๋ค. ์๋ฌด๋๋ ์ฐ์ฐ์ ์์ด์ ์ ์ฅ์ฉ๋ ๋ณด๋ค๋ ์๋๊ฐ ๋น ๋ฅธ ๊ฒ์ด ์ค์ํ๋ค๋ณด๋... CPU์ฒ๋ผ ๋น ๋ฅธ ์ผ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ฅ์น์ ์์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์์ ๋ณ์์ ๊ฐ์ด ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์ฝ๋๋ฐ ์ฌ์ฉ๋๋ ๋ฆฌ์์ค๊ฐ ๋ฐ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋๋ค.
Python์ ๋ชจ๋ ๊ฒ์ด ์ค๋ธ์ ํธ(๊ฐ์ฒด)์ด๋ค. (feat. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ & ๊ธฐ๋ณธ ํ์ ๋ณ์)
Python์ ๋ค๋ฅธ ์ธ์ด๋ค๊ณผ ๋ค๋ฅธ ํน๋ณํ ํน์ง์ด ํ๋ ์์ต๋๋ค. ์ด ํน์ง์ผ๋ก ์ธํด ๋ค๋ฅธ ์ธ์ด๋ค์๋ ์๋ ๋ณ์ ํ์ ์ ์์ ๋ํ ๋ฌธ๋ฒ์ด Python์์๋ ๊ต์ฅํ ์์ ๋กญ์ต๋๋ค.
Everything is Object
๋ชจ๋ ๊ฒ์ด ์ค๋ธ์ ํธ(๊ฐ์ฒด)์ด๋ค.
Python์์๋ ์ ์, ์ค์, ๋ฌธ์์ด, ํจ์ ๋ฑ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด๋ก ๊ตฌํ๋์ด ์๋ค๊ณ ํฉ๋๋ค.
์์ง ๋ณ์๋ฅผ ๋ฐฐ์ฐ๋ ๋จ๊ณ์์๋ ๊ฐ์ฒด๋ฅผ ๋ชฐ๋ผ๋ ๋์ง๋ง... ๊ฐ๋จํ๊ฒ ์๋ฅผ ๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
๋ถ์ด๋นต ์ฅ์ฌ๋ฅผ ํ๋๋ฐ ์ฌ๋ฌ๊ฐ์ง ๋ง๊ณผ ์์ ๋ถ์ด๋นต์ ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ๊ทธ๋์ ๋ง๊ณผ ์ ๋ ๊ฐ์ง ์์ฑ์ ๊ฐ๊ณ ๋ค์ํ๊ฒ ์์ด์ ์ฌ๋ฌ ์ข ๋ฅ์ ๋ถ์ด๋นต์ ๋ง๋ค์ด์ ํ๊ธฐ๋ก ํ์ต๋๋ค. ํฅ ๋ง ์ฃผํฉ์ ๋ถ์ด๋นต, ํฌ๋ฆผ ๋ง ์ฃผํฉ์ ๋ถ์ด๋นต, ํฌ๋ ๋ง ๋นจ๊ฐ์ ๋ถ์ด๋นต, ํฌ๋ฆผ ๋ง ๋นจ๊ฐ์ ๋ถ์ด๋นต์ ๋ง๋ค์์ต๋๋ค. ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ๋ถ์ด๋นต์ด ๊ฐ๊ฐ ๊ฐ์ฒด ์ ๋๋ค. ํ๋ก๊ทธ๋๋ฐํ๋ค๊ณ ํ์ ๋ ํ๋์ ๋ถ์ด๋นต ํ์ ๋ง๋ค์ด ๋๊ณ ๋ค์ํ ์์ฑ๋ค์ ๊ฐ๊ณ ์๋ ๋ถ์ด๋นต์ด๋ผ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด ๋์ต๋๋ค. ์ด ๊ฒฐ๊ณผ๋ฌผ์ด ๊ณง ๊ฐ์ฒด์ ๋๋ค. ์ง๊ธ์ "๊ฐ์ฒด๋ ๋ง๋ค์ด์ง ๊ฒฐ๊ณผ๋ฌผ์ด๋ค" ์ ๋๋ก๋ง ์ดํดํด๋ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋ผ ๋ค์ ๋ณธ๋ก ์ผ๋ก ๋์์์... Python์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด๋ผ๋๋ฐ ๋ณ์๋์ ๋ฌด์จ ์๊ด์ธ๊ฐ์? ์ด ๊ฒ์ ์ดํดํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์กฐ์ ๊ธฐ๋ณธ ํ์ ๋ณ์๋ผ๋ ๊ฒ์ ์์์ผํฉ๋๋ค.
Python๊ณผ ๋ค๋ฅธ ์ธ์ด์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
๊ฐ๋ฐ์๊ฐ ์ฝ๋ฉํ ์์ ์ ์คํํ ๋ Memory๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์์์ ์๊ธฐ ํ๋ฏ์ด... ๋ณ์์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์ฅํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฃ . ๊ทธ๋ฐ๋ฐ ์ด๋ฐ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ฒด์ ์ผ๋ก ๋ดค์ ๋ ํ๋์ด์ง๋ง... ๋ด๋ถ์ ์ผ๋ก๋ ๊ณต๊ฐ์ ๋๋ ์ ์ฌ์ฉํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ Memory์ ๊ตฌ์กฐ์์ ํฌ๊ฒ Stack๊ณผ Heap์ด๋ผ๋ ์์ญ์ด ์กด์ฌํฉ๋๋ค. ์์ญ์ ๋๋ ์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ ์๋๊ฐ ํฅ์๋๊ณ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์ท์ฅ์ ์ท์ ์ข ๋ฅ์ ๋ฐ๋ผ ์ ๋ฆฌํ๋ฉด ์ฐพ๊ธฐ๋ ์ฝ๊ณ ๊ด๋ฆฌ๋ ํธํด์ง๋ ๊ฒ ์ฒ๋ผ... ๋ฉ๋ชจ๋ฆฌ๋ ์ด์ ๊ฐ์ด ๊ด๋ฆฌํ๋ค๊ณ ํฉ๋๋ค.
๊ทธ๋ผ Python์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ ๋ค๋ฅธ ์ธ์ด๋ค๊ณผ ๋ญ๊ฐ ๋ค๋ฅผ๊น์? ์ฌ์ค ๊ตฌ์กฐ๋ ๋์ผํฉ๋๋ค. ๋ค๋ฅธ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ๋ฐ์ดํฐ๊ฐ ๋ค๋ฅด๋ค๋ ์ ์ ๋๋ค.
๋ณ์๋ฅผ ๋ฐฐ์ฐ๋ ๋จ๊ณ์ด๋ Stack๊ณผ Heap์ ๋ํด ๊น๊ฒ ๋ค์ด๊ฐ์ง ์๊ฒ ์ต๋๋ค. ๊ทธ๋ฅ ์์๋ฌ์ผํ ๊ฒ์ C๋ Java์์๋ ๊ธฐ๋ณธํ์ ๋ณ์์ ๊ฐ์ด Stack ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ฐ๋ฉด Python์์๋ Stack์ ๋ชจ๋ ๋ณ์๊ฐ ๊ฐ์ด ์๋ ๊ฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์(heap)๊ฐ ์ ์ฅ๋๋ค๋ ๊ฒ์ด ํต์ฌ ์ ๋๋ค.
๊ธฐ๋ณธ ํ์ ๋ณ์
์๋ Java์ ๊ธฐ๋ณธ ํ์ ๋ณ์ ์ ๋๋ค. Java์ Python์ ์ฝ๋๋ฅผ ๋ณด๊ณ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค.
Java
int x = 100;
double y = 20.5;
Python
x = 100
y = 20.5
์ฐ์ ์ฝ๋๋ฅผ ๋์ผ๋ก ๋ดค์ ๋ Java์ ๊ฒฝ์ฐ int, double๊ณผ ๊ฐ์ ํค์๋๋ฅผ ๋ณ์๋ช ์์ ๋ถ์ฌ ์คฌ๋๋ฐ Python์ ์์ต๋๋ค. ์ด๋ฌํ ํค์๋๋ ๋ณ์๊ฐ ๊ธฐ๋ณธํ์ ์ด๋ผ๋ ๊ฒ์ ๋ช ์ํ๊ธฐ ์ํจ์ ๋๋ค. ์ ์, ์์, ๋ถ์ธ(์ฐธ/๊ฑฐ์ง)๊ณผ ๊ฐ์ด 8byte์ด๋ด๋ก 0๊ณผ 1๋ก ํํ์ ๋ฐ๋ก ํ ์ ์๋ ํ์ ์ ๊ธฐ๋ณธํ์ ์ด๋ผ๊ณ ํ๋๋ฐ์.... ๋ด๋ถ์ ์ผ๋ก ๋ณ์์ ๊ฐ์ ํ ๋นํ ๋ Java์์๋ Stack ๋ฉ๋ชจ๋ฆฌ์ ํด๋น ํ์ ์ ํฌ๊ธฐ(ex int : 4 byte, double : 8 byte)๋งํผ ๊ณต๊ฐ์ ํ ๋นํด์ฃผ๊ณ ๊ฐ์ ์ ์ฅํ๋ค.
Java์์ x์ ๊ฒฝ์ฐ Integer์ด๊ธฐ ๋๋ฌธ์ 4byte๋ฅผ ํ ๋นํด์ฃผ๊ณ ํด๋น ๊ณต๊ฐ์ 0๊ณผ 1์ ์ฌ์ฉํด์ 100์ด๋ผ๋ ๊ฐ์ ๋ง๋ค์ด ์ค๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ๊ฑด ๊ธฐ๋ณธํ์ ์ Stack ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ์ ์ฅํ ๊ฒ์ ๋๋ค.
Python์ ๊ฒฝ์ฐ... Stack ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ณ์์ ๊ฐ์ ํ ๋นํ์ง ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด๋ก ๋์ด ์๊ธฐ ๋๋ฌธ์ Stack ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ์ ์ฅํฉ๋๋ค. x์ ๊ฐ์ 100 ๊ฐ์ฒด์ ์ฃผ์๊ฐ ๋ ๊ฒ์ด๊ณ ์ฃผ์๋ฅผ ๋ฐ๋ผ๊ฐ ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ฒ๋๋ฉด ๋ค๋ฅธ ๋๊ฐ์ ๋ณ์์์๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์๊ฒ ๋ฉ๋๋ค.
Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 100
>>> print(id(x))
2317298587088
>>> y = 100
>>> print(id(y))
2317298587088
>>> print(id(100))
2317298587088
id ํจ์๋ ๋ณ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ถ๋ ฅํด์ฃผ๋ ํจ์์ ๋๋ค. ์ซ์ 100๊ณผ x, y๋ณ์์ ํ ๋นํ 100์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๋ชจ๋ ๊ฐ์ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ดค์ ๋ Python์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด๋ก ๋์ด ์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
Python์์ ๋ณ์๋ ๊ฐ์ ์ ์ฅํ๋ ๊ฒ์ด ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ธฐ์ตํ๋ค๋ ๊ฒ์ด ํต์ฌ์ ๋๋ค.
๊ทธ๋์... ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ ๋ฐฐ์ ๊ณ ... ๊ธฐ๋ณธํ์ ๋ ๋ฐฐ์ ๊ณ ... ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ธฐ์ตํ๋ค๋ ๊ฒ์ ์๊ฒ ๋๋ฐ...
๊ทธ๋ฐ๋ฐ ๋ณ์๋ ์ ์ฐ๋๊ฑด๋ฐ....;;
๋ง์ ๋ณ์๋ฅผ ์ ์ฌ์ฉํ๋์ง์ ๋ํด์๋ ์์ง ๋ค๋ฃจ์ง ์์์ต๋๋ค... ใ ใ
๋ณ์๋ ๋ฐ์ดํฐ ๊ฐ์ ์ ์ฅํ ๊ณณ์ ๊ฐ๋ฆฌํค๋ ์ด์ ํ
๋ณ์๋ ์ฐ๋ฆฌ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ์ฝ๊ฒ ์ฌ๋์ด ์ฝ์ ์ ์๋๋ก ํธ์๋ฅผ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
์์ ๋ฐฐ๋ฌ์ ํ๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. ๊ณ ๊ฐ์ด ๋ฐฐ๋ฌ ์ฃผ์๋ฅผ "๋จ์ฐํ์ ์๋ ๋นจ๊ฐ ์ง๋ถ"์ด๋ผ๊ณ ํ๋ฉด... ๋ฐฐ๋ฌํ๋๊ฒ ์ฝ์ง ์์ ์ผ์ผ ๊ฒ๋๋ค. ๊ทธ๋ผ "์์ธ ์ฉ์ฐ๊ตฌ ๋จ์ฐ๊ณต์๊ธธ 105" ์ฒ๋ผ ์ฃผ์๋ฅผ ์๋ ค์ฃผ๋ฉด ์ด๋จ๊น์? ์ด์ ๋ณด๋ค ํจ์ฌ ํธํ๊ณ ๋น ๋ฅด๊ฒ ๋ฐฐ๋ฌ์ ํ ์ ์์ ๊ฒ๋๋ค. ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋๊ฐ์ต๋๋ค.
Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 100
>>> print(id(x))
2317298587088
>>> print(id(100))
2317298587088
์ ์์ ๋ ๋ณ์ x์ 100์ด๋ผ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋์ ๋๋ค. ๋ณด์๋ฉด ๋ชจ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ฐ๋ผ๋ณด๋ ๊ฒ์ ํ์ธํ ์์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ 100์ด๋ผ๋ ๊ฐ์ ์ฌ์ฉํ๊ธฐ ์ํด์ "2317298587088" ์ฒ๋ผ ๊ธด ์ซ์์ ๋ฉ๋ชจ๋ฆฌ์ฃผ์๋ฅผ ๊ธฐ์ตํด์ ์ฌ์ฉํ ์ ์์๊น์? ๋ง์ฝ ์ด๋ฐ ์์ผ๋ก ๊ฐ๋ฐ์ ํด์ผํ๋ค๋ฉด ์๋ง ๊ฐ๋ฐ์ ๊ด๋์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ฐ ๋ถํธํจ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ณ์๋ฅผ ์ด์ฉํด ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ์ฌ๋์ด ์ฝ์ ์ ์๋ ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก ํํํด์ ์ฌ์ฉํฉ๋๋ค.
Python ๋ณ์์ ์ฌ์ฉ
์ด์ ๋ณ์์ ๋ํ ๊ธฐ๋ณธ์ ๋ชจ๋ ์ดํด๋ดค๊ณ ... ์ค์ ๋ก ์ฌ์ฉํ๋๋ฐ ์์ด์ ์ ์ํด์ผํ ์ฌํญ๋ค์ ์์๋ณด๊ฒ ์ต๋๋ค.
# ๊ฐ๋ฅํ ๋ณ์ ๋ช
๋ช
test = 1
_test = 1
Test = 1
# ๋ถ๊ฐ๋ฅํ ๋ณ์ ๋ช
๋ช
False = 1
as = 1
123test = 1
asd!@# = 1
Python์ ๋ณ์๋ฅผ ์ ์ธํ๋๋ฐ ๋ช๊ฐ์ง ๊ท์น์ด ์์ต๋๋ค.
- ๋ณ์์ ์ฒซ ๊ธ์๋ ์๋ฌธ ๋์๋ฌธ์ ํน์ ์ธ๋๋ฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋๋จธ์ง๋ ์ซ์, ์๋ฌธ์ ๊ทธ๋ฆฌ๊ณ ์ธ๋๋ฐ๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
- Python์ ์์ฝ์ด๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.(์๋์ ํ ์ฐธ์กฐ)
์์์ ์ค๋ช ํ๋ฏ์ด Python์๋ ๊ธฐ๋ณธํ์ ์ด ์๊ณ ๋ชจ๋ ๊ฐ์ฒด๋ก ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ์ ์ ๋ช ์ํด์ค ํ์๊ฐ ์๊ณ ๋ณ์๋ช ๊ณผ ๊ฐ ์ฌ์ด์ ๋ฑํธ๋ฅผ ์ด์ฉํด์ ์ ์ธํด์ค ์ ์์ต๋๋ค.
๋ณ์ ํ๊ธฐ๋ฒ
์ฃผ๋ก ๋ง์ด ์ฌ์ฉํ๋ ํ๊ธฐ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
์นด๋ฉ ํ๊ธฐ๋ฒ(camel case)
- resultStatusForDays
- connectionVendor
- tableName
๋ํ์ ๋ฑ์ฒ๋ผ ์๊ฒจ์ ์ง์ด์ง ์ด๋ฆ์ด๊ณ ์ฒซ ๋จ์ด๋ ์๋ฌธ์๋กํ๊ณ ๋จ์ด์ ๋จ์ด์ ๊ตฌ๋ถ์ ๋๋ฌธ์๋ก ํฉ๋๋ค.
์คํ ์ดํฌ ํ๊ธฐ๋ฒ(snake case)
- result_status_for_days
- connection_vendor
- table_name
์ธ๋๋ฐ๊ฐ ๋ฑ์ฒ๋ผ ์๊ธด๋ฐ์ ์ง์ด์ง ์ด๋ฆ์ด๊ณ ๋ชจ๋ ๋จ์ด๋ฅผ ์๋ฌธ์๋กํ๊ณ ๋จ์ด์ ๋จ์ด์ ๊ตฌ๋ถ์ ์ธ๋๋ฐ๋ก ํฉ๋๋ค.
python์์๋ ์ฃผ๋ก ์ค๋ค์ดํฌ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
์ฌ๋ฌ๊ฐ์ง ์ฌ์ฉ ์์
# ๋ฌธ์์ด ๋ณ์ ์ ์ธ
text = 'hihi' # ์์ ๋ฐ์ดํ ์ฌ์ฉ
text = "hihi" # ํฐ ๋ฐ์ดํ ์ฌ์ฉ
# ์ฌ๋ฌ ์ค ์ฌ์ฉ
text = '''
hihi
hihi
'''
text = """
hihi
hihi
"""
# ์ซ์ ๋ณ์ ์ ์ธ
num = 10 # ์ ์
num = 10.5 # ์์
# ๋
ผ๋ฆฌ ๋ณ์ ์ ์ธ
yes = True
no = False
# ์ฌ๋ฌ ๋ณ์ ํ๊ฐ์ง ๊ฐ์ผ๋ก ์ ์ธ
x = y = 10
# ์ฌ๋ฌ ๋ณ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์ ์ธ
x, y = 1, 2
์ ๋ฆฌ
- ํ๋ก๊ทธ๋๋ฐ์์ ๋ฑํธ(=) ๊ธฐํธ๊ฐ "๊ฐ๋ค"๋ผ๋ ์๋ฏธ๊ฐ ์๋๋ผ "๋์ ํ๋ค"์ ์๋ฏธ
- Python์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด๋ก ๊ตฌํ๋์ด ์๋ค
- ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด๋ก ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ณ์์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ด ์๋ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ์ ์ฅ
- ๋ณ์๋ ์ฐ๋ฆฌ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ์ฝ๊ฒ ์ฌ๋์ด ์ฝ์ ์ ์๋๋ก ํธ์๋ฅผ ์ํด ์ฌ์ฉ
- ๋ณ์๋ฅผ ์ ์ธํ๋๋ฐ ๊ท์น์ด ์๋ค
- python์์๋ ์ค๋ค์ดํฌ ํ๊ธฐ๋ฒ์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
์ด๋ ๊ฒ ๋ณ์์ ๋ํด์ ์์๋ดค์ต๋๋ค. ์ค์ต๋ณด๋ค๋ ์ด๋ก ์ ์ธ ๋ด์ฉ์ด ๋ ๋ง์๋๋ฐ... ๋งค์ฐ ์ค์ํ ๋ถ๋ถ์ด๋ ๊ผญ ์ดํดํ๊ณ ๋์ด๊ฐ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ๋น์ ๊ณต์๋ค์ด ํ๋ก๊ทธ๋๋ฐ์ ์ฒ์ ํ ๋... ์ด๋ฐ ๊ฐ๋ ์ด ์ฝ์ง ์์์ ์ค์ต์ ๋จผ์ ์งํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ทธ๋ฌ๋๊ฒ ์ข์ ๋ฐฉ๋ฒ์ผ ์๋ ์์ง๋ง... ์ ๋ง ์์ข์ ์ต๊ด์ธ๊ฒ.... ๋์ด๊ฐ๋ ์ฒ์์๋ ๋ณ์๋ฅผ ์ฌ์ฉํ๋๋ฐ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ด์ ๋์ถฉ ์์๋ ๋๋ ๊ฐ๋ ์ผ๋ก ๋๊ปด์ง ์ ์์ต๋๋ค. ์ ๋ ๊ทธ๋ฌ๊ณ ... ํฐ ๋ฒฝ์ ๋ถ๋ํ ๋ค์ ๊ณต๋ถํ๊ฒ ๋์์ต๋๋ค. ์ทจ์ ๋ฉด์ ์์ ๊ธฐ๋ณธ์ ํ์ธํ๊ธฐ ์ํด ๋ฌผ์ด๋ณด๋ ์ง๋ฌธ๋ค์ ๋๋ค. ใ ใ ๋ณ์๋ฅผ ์ดํดํ๊ณ ์ฌ์ฉํด์ผํฉ๋๋ค. ใ ใ
๋ณ์๋ ์์ฑ๋ ๋ชจ๋ Python๊ด๋ จ๋ ๊ธ์์ ์ฌ์ฉํ๊ฒ๋ ๊ฒ ์ ๋๋ค. ์ฌ์ฉํ๋๋ฐ ์์ด์ ํ์ ์ด๋ scope์ฒ๋ผ ์์์ผํ ๋ด์ฉ๋ค์ด ๋ง์๋ฐ์... ๋ค๋ฅธ ๊ฐ๋ ๋ค์ ์๊ฐ ๋ฐ ์ค์ตํ๋ฉด์ ๋ณ์์ ์ฌ์ฉ๋ฐฉ๋ฒ์ ์์ฐ์ค๋ฝ๊ฒ ์ตํ ์ ์๋๋ก ๊ตฌ์ฑํด๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฒ ๊ธ์์๋ ๋ณ์๋ฅผ ์ดํดํ๋๋ฐ ์ง์คํ๊ณ ๊ฐ๋จํ๊ฒ ์ ์ํ๋ ๋ฐฉ๋ฒ ์ ๋๋ฅผ ์์๋ดค์ต๋๋ค.
๋๊ธ