๐์๋ก
์ด๋ฒํ๊ธฐ๋ถํฐ ์
๋ถํ๊ฒ ๋ ํ๊ต ๋์๋ฆฌ, ํ์์คํ
.
๊ทธ๊ณณ์์ ๊ฐ์ ๊ด์ฌ๋ถ์ผ, ๋ฐฐ์ฐ๊ณ ์ถ์ ๋ถ์ผ๋ณ๋ก ํ์ด ์ด๋ฃจ์ด์ก๊ณ ๊ทธ๋ ๊ฒ ์คํฐ๋ ํ์ด ๊ฒฐ์ฑ๋์๋ค.
์ฐ๋ฆฌ ๋ชจ๋ ์ธ๊ณต์ง๋ฅ์ ๋ง์ ์ง์์ด ๋ถ์กฑํ ์ด๋ค์ด์๊ธฐ์ ์ฑ
ํ๋๋ฅผ ์ ํ๊ณ ์ฐจ๊ทผ์ฐจ๊ทผ ์คํฐ๋๋ฅผ ์งํํ๊ธฐ๋ก ๊ฒฐ์ ํ์๋ค.
์ฑ
์ 'ํ์ด์ฌ๋ถํฐ ์์ํ๋ ์ธ๊ณต์ง๋ฅ' ์ผ๋ก ์ ํ์๋ค.(๊ด๊ณ ์๋๋๋ค)
๋ชจ๋ ๊ฑด ์์์ด ๋ฐ์ด๋ค. ์คํฐ๋์ ์์์ด๋ ์ด์ฌํ ํด๋ณด๊ฒ ๋ค ๋ค์งํ๊ณ ์์ํด๋ณด์!
(์์ํ์ผ๋ ๋ฒ์จ ๋ฐ์ ํ๋ค)
๐ช์ด๋ฒ์ฃผ์ฐจ ํ์ต๋ชฉํ
์ด๋ฒ์ฃผ์ฐจ ์คํฐ๋๋ ์ฑ
์ 1์ฅ์ธ ํ์ด์ฌ ์ด๊ธ๋ถ๋ถ์ด๋ค.
์คํฐ๋์๋ถ๋ค ์ค ํ์ด์ฌ์ ์กฐ๊ธ๋ง ์๊ฑฐ๋ ๋ชจ๋ฅด๋ ๋ถ๋ ์๊ณ ์ด ์คํฐ๋ ์์ฒด๊ฐ ์ด๊ธ์ ์ธ ๊ฒ๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ํ์ตํ๋ ๊ฒ์ด๊ธฐ์ ์ธ๊ณต์ง๋ฅํ๋ฉด ๋ ์ ์๋ ์ธ์ด์ธ ํ์ด์ฌ์ ๊ฐ๋จํ ๋ค๋ฃจ์ด๋ณด๊ณ ํ์ตํ๋ ๊ฒ์ด ์ด๋ฒ์ฃผ์ฐจ ๋ชฉํ์ด๋ค.
โถ๏ธ ํ์ด์ฌ ์์ํ๊ธฐ
- ํ์ด์ฌ ์ค์น
- ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ
- ๊ฐ์ํ๊ฒฝ์ ๋
๋ฆฝ์ ์ด๊ณ ๊ฒฉ๋ฆฌ๋ ํ์ด์ฌ ์คํํ๊ฒฝ์ ๋ปํ๋ฉฐ, ํ๋ก์ ํธ ๋ณ๋ก ๋ค๋ฅธ ๊ฐ์ํ๊ฒฝ์ ๋ง๋ค์ด ์ฌ์ฉํ๋ฉด ํจํค์ง ๋ฒ์ ์ถฉ๋๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
- ๊ฐ์ํ๊ฒฝ ์์ฑ๊ณผ ํ์ฑํ๋ ์ด์์ฒด์ ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค. ๋ณธ์ธ์ OS๊ฐ ์๋์ฐ ์ด๋ฏ๋ก ์๋์ฐ๋ง ์์ฑํ๊ฒ ๋ค.
- ๊ฐ์ํ๊ฒฝ์ ์ฌ๋ฌ ์ข
๋ฅ๊ฐ ์์ง๋ง venv์ผ๋ก ํ๊ฒ ๋ค.
์๋์ฐ ์ด์์ฒด์ ์์ ๊ฐ์ํ๊ฒฝ ์์ฑ ๋ฐฉ๋ฒ
1. ๋ช
๋ น ํ๋กฌํํธ(CMD)๋ฅผ ์คํ
2. ํ๋ก์ ํธ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ๋ก ์ด๋(cd๋ฅผ ํ์ฉ)
์์) ์ฒ์ ์คํ์ C:\users\์ฌ์ฉ์ ์ด๋ฆ> ์ผ๋ก ๋์ฌํ
๋ฐ
cd <์ด๋ํ ๋๋ ํ ๋ฆฌ> ๋ฅผ ํตํด ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๋ฉด ๋๋ค.
3. python -m venv ๊ฐ์ํ๊ฒฝ์ด๋ฆ
์ ์ฒ๋ผ ์์ฑํ๋ค.
- ๊ฐ์ํ๊ฒฝ์ ์์ฑํ์์ผ๋ฉด ํ์ฑํ๋ฅผ ํ์ฌ์ผ ์ฌ์ฉํ ์ ์๋ค.
์๋์ฐ ์ด์์ฒด์ ์์ ๊ฐ์ํ๊ฒฝ ํ์ฑํ ๋ฐฉ๋ฒ
1. ์์ฑํ ๊ฐ์ํ๊ฒฝํด๋์ Scripts๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๋ค.
2. activate.bat ๋ช
๋ น์ด๋ฅผ ์์ฑ ํ ์คํ
์์) cd C:\์์ฑํ๊ฐ์ํ๊ฒฝํด๋\Scripts\
activate.bat
3. ํน์
call ์์ฑํ๊ฐ์ํ๊ฒฝ์ด๋ฆ\Scripts\activate
๋ก ์์ฑํ์ฌ๋ ๋๋ค.
4. ๊ฐ์ํ๊ฒฝ์ด ํ์ฑํ ๋๋ฉด ์ปค๋ฉ๋๋ผ์ธ ์ผ์ชฝ์ (๊ฐ์ํ๊ฒฝ์ด๋ฆ)์ด ์ถ๊ฐ๋๋ค.
- IDLE
- ํ์ด์ฌ ์ค์น์ ๊ฐ์ด ์ค์น๋๋ฉฐ IDLE(Integrated Development and Learning Environment)[ํตํฉ๊ฐ๋ฐํ์ตํ๊ฒฝ]์ด๋ค.
- ํฌ๊ฒ ์
ธ ์ฐฝ๊ณผ ์๋ํฐ ์ฐฝ์ผ๋ก ๋๋๋๋ฐ ์
ธ ์ฐฝ์ ๋ํํ ์ธํฐํ๋ฆฌํฐ์ด๋ค. >>>๋ค์ ์
๋ ฅ์ด๋ ๋ช
๋ น์ ์
๋ ฅ์ ์คํ๋๋ค.
- ์๋ํฐ ์ฐฝ์ ์ฝ๋๋ฅผ ์์ฑ ํ ์คํํ๋ฉด ์
ธ ์ฐฝ์์ ์คํ๋๋ค.
- ํ์ด์ฌ IDE
- IDLE๋ณด๋ค๋ IDE๊ฐ ์ค๋ฌด์ ์ผ๋ก ๋ง์ ๊ธฐ๋ฅ์ ๊ฐ์ก๊ธฐ์ IDE๋ฅผ ์ถ์ฒํ๋ค.
1๏ธโฃ ๋น์ฃผ์ผ ์คํ๋์ค ์ฝ๋(Visual Studio Code)
- ํ์ด์ฌ ์ด์ฉ์๋ค์ด ๊ฐ์ฅ ๋ง์ด ์ ์ฉํ๋ IDE์ค ํ๋.
- ๋ณธ์ธ์ ๊ฐ์ฅ ์ถ์ฒํ๋ IDE์ด๋ค. ๋ฌด๋ฃ์ด๊ธฐ๋ ํ๊ณ .
2๏ธโฃ ํ์ด์ฐธ(PyCharm)
- ํ์ฉ ํ์ด์ฌ ๊ฐ๋ฐ ํด ์ค ๊ฐ์ฅ ๊ธฐ๋ฅ์ด ๊ฐ๋ ฅํ๊ณ ์์ฑ๋๊ฐ ๋๋ค๊ณ ์ฌ๊ฒจ์ง๋ค.
- ๋ค๋ง ์ ๋ฃ์ด๋ค.
- ๊ธฐ๋ณธ์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์(+, -, *, /, **, //, %) : ์์๋๋ก ๋ํ๊ธฐ, ๋นผ๊ธฐ, ๊ณฑํ๊ธฐ, ๋๋๊ธฐ, ์ ๊ณฑ, ๋ชซ, ๋๋จธ์ง ์ด๋ค.
- ๋น๊ต์ฐ์ฐ์(==, !=, <, <=, >, >=) : ์์๋๋ก ๊ฐ๋ค, ๋ค๋ฅด๋ค, ์๋ค, ์๊ฑฐ๋ ๊ฐ๋ค, ํฌ๋ค, ํฌ๊ฑฐ๋ ๊ฐ๋ค ์ด๋ค.
- ๋
ผ๋ฆฌ์ฐ์ฐ์(and, or, not) : ์์๋๋ก ๋
ผ๋ฆฌํฉ, ๋
ผ๋ฆฌ๊ณฑ, ๋ถ์ ์ด๋ค.
- ์ด ์ธ์๋ ์์์ฐ์ฐ์, ์ ์์ฐ์ฐ์, ํ ๋น ์ฐ์ฐ์, ๋นํธ์ฐ์ฐ์๊ฐ ์๋ค.
- ์ฃผ์
- #์ ํตํด ๋ํ๋ธ๋ค.
๐๊ฐ์ฒด
๋ณ์๋ ์ ๋ณด๊ฐ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ์์ญ์ ์ถ์ํ ํ ๊ฒ์ด๋ค.
์ผ๋ฐ์ ์ผ๋ก๋ C์ธ์ด์ ๊ฐ์ด ๋ณ์๋ฅผ ์ ์ธํ๋ฉด ๋ณ์๋ฅผ ์ด๋ ๋ฉ๋ชจ๋ฆฌ์์ญ์ ์์ญ์ ํ๋ณดํ๊ณ ๊ทธ๊ณณ์ ์ ๋ณด๋ฅผ ํ ๋นํ๋ค.
ํ์ง๋ง ํ์ด์ฌ์์๋ a = 3์ด๋ผ ์์ฑํ๋ฉด 3์ด๋ผ๋ ์ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ a๊ฐ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ์ผ์ข
์ ํฌ์ธํฐ์ญํ ์ ํ๋ค.
๋ชจ๋ ๊ฐ์ฒด๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋์ธ๊ฐ์ ์ ์ฅ๋๋ฉฐ ๊ฐ๊ธฐ ๊ณ ์ ํ ์๋ณ๋ฒํธ๋ฅผ ๊ฐ์ง๋ค.
a=3
b=3
id(a)
id(b)
์ ์ฝ๋๋ฅผ ์คํํ๋ฉด a์ b๊ฐ ๊ฐ์ ๊ฐ์ฒด์ธ 3์ ๊ฐ๋ฆฌํค๋ฏ๋ก ๊ฐ์ ์์ด๋๊ฐ์ ๊ฐ์ง๋ ๊ฒ์ ์ ์ ์๋ค.
๐ข์ซ์์ ๋ฌธ์์ด
- ์ซ์
- ์ ์ํ ๊ฐ์ฒด[int]์ ์ค์ํ ๊ฐ์ฒด[float]๊ฐ ์๋ค.
- 1๊ณผ 1.0์ ๊ฐ๊ฐ ์๋ณ๋ฒํธ๊ฐ ๋ค๋ฅด๋ค.
- ๋ถ๋์์์ : 1๋ณด๋ค ์์ ์ซ์๋ฅผ ์ด์ง๋ฒ์ผ๋ก ๋ํ๋ด๊ธฐ ์ด๋ ต๊ธฐ์ 0์ ์์ ์๋ฅผ ๋ํ์ฌ ๊ทธ ์์ ์์ฃผ ๊ฐ๊น์ด์๋ฅผ ๋ง๋ ๋ค. ๊ทธ๋ ๊ธฐ์ ์์ ์ค์ฐจ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ์ง์ํํ : e๋ฅผ ์ด์ฉํ๋ค. ์ฌ๊ธฐ์ e๋ 10์ ๋ช์น์ธ์ง๋ฅผ ๋ํ๋
ex) 1.23e-3 = 1.23 * 10^-3 = 0.00123
- ๋ฌธ์์ด
s[0]์ 'a' #0๋ฒ์งธ(์๋ฌธ์๋ถํฐ 0์ด๋ค)
s[3]์ 'd' #3๋ฒ์งธ
s[-1]์ 'g' #๋ค์์ ์ฒซ๋ฒ์งธ(๋ค์์๋ถํฐ ์
๋๋ 1๋ถํฐ ์์ํ๋ค. 0๊ณผ -0์ด ๊ฐ๊ธฐ์)
s[0:3]์ 'abc' #0์ด์ 3๋ฏธ๋ง๊น์ง
s[:3]์ 'abc' #์ฒ์๋ถํฐ 3๋ฏธ๋ง๊น์ง
s[1:]์ 'bcdefg' #1์ด์๋ถํฐ ๋๊น์ง
s[:]์ 'abcdefg' #์ ์ฒด
print("result : %s", %3) ์ด๊ฒ๊ณผ ๊ฐ์ด %s๋ฅผ ์ด์ฉํ์ฌ ์ถ๋ ฅํ ๋ฌธ์์ด์ ํ์์ ์ค์ ํ๋ ๊ฒ์ ๋ฌธ์์ด ํฌ๋งทํ
์ด๋ผ ํ๋ค.
๐๋ฆฌ์คํธ, ํํ, ์ธํธ, ๋์
๋๋ฆฌ
- ๋ฆฌ์คํธ
- ๋ฆฌ์คํธ๋ ์์ ๊ฐ์ฒด์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ ์์ดํ ๊ฐ์ฒด์ด๋ค.
- ๋ฆฌ์คํธ๋ ๋๊ดํธ([])๋ก ๋ฌถ์ฌ์๊ณ ์์ฑํจ์ list๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ง์ ์์๋ค์ ๋๊ดํธ๋ก ๋ฌถ์ด์ ์์ฑํ ์ ์๋ค.
- ๋ฆฌ์คํธ๋ ๋ฌธ์์ด๊ณผ ๊ฐ์ด ์ฐ๊ฒฐ(+), ๋ฐ๋ณต(*),์ธ๋ฑ์ฑ, ์ฌ๋ผ์ด์ฑ์ ํ ์ ์์ผ๋ฉฐ ์์๊ฐ์ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅํ๋ค.
- ๋ฆฌ์คํธ ๋ํ ๊ฐ์ฒด์ด๋ฏ๋ก ์์๊ฐ์ ๋ณ๊ฒฝํ๋ค ํ์ฌ๋ id๊ฐ์ ๋ณํ์ง ์๋๋ค.
- ํํ
- ๋ฆฌ์คํธ์ ๋ค๋ฅธ ๊ฒ์ ๊ฐ์ง๋ง ์์๊ฐ์ ๋ณ๊ฒฝํ์ง ๋ชปํ๋ค๋ ์ฐจ์ด๋ง ์๋ค.
- ๋ฆฌ์คํธ์ ๋ฌ๋ฆฌ ์๊ดํธ"()"๋ก ๋ฌถ์ฌ์๋ค.
- ์ธํธ
- ์งํฉ๊ณผ ๊ฐ๋ค.
- ์์ดํ ๊ฐ์ฒด๊ฐ ์๋๊ธฐ์ ์ธ๋ฑ์ฑ์ ํ ์ ์๋ค.
- ์ค๊ดํธ({})๋ฅผ ์ด์ฉํ์ฌ ์์ฑ ๊ฐ๋ฅํ๋ค.
- ๋์
๋๋ฆฌ
- ํค์ ๋ฒจ๋ฅ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฐ๋ณ๊ฐ์ฒด์ด๋ค.
- ํค๋ฅผ ์ธ๋ฑ์ค์ฒ๋ผ ์ฌ์ฉํ์ฌ ๋ฒจ๋ฅ๋ฅผ ์ป์ ์ ์๋ค.
- 'ํค:๋ฒจ๋ฅ' ํ์์ผ๋ก ์์๊ฐ์ฒด ์์ ๊ตฌ์ฑํ๋ค.
- ์ค๊ดํธ๋ก ๋ฌถ์ฌ์๋ค.
- ํค์๋ ๊ฐ๋ณ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๐ป์ ์ด๋ฌธ
- if ์กฐ๊ฑด๋ฌธ
number = 5
if number % 2 == 0:
print("multiples of 2")
elif number % 3 == 0:
print("multiples of 3")
elif number % 4 == 0:
print("multiples of 4")
else:
print("none of above")
- ์ ์ฝ๋๋ฅผ ์คํํ๋ฉด none of above๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ด๋ค.
- if ์กฐ๊ฑด:
์คํํ ์ฝ๋
์ด๋ ๊ฒ ์์ฑ๋๋๋ฐ ์คํํ ์ฝ๋๋ ๋ค์ฌ์ฐ๊ธฐ ํ์ฌ if ๋ธ๋ญ์ ๋ฒ์๋ฅผ ๋ํ๋ธ๋ค.
- else if = elif ์ด๋ค. ์ฆ ์ if์กฐ๊ฑด์ด ์๋๋ผ elif์ ์กฐ๊ฑด์ด๋ผ๋ฉด elif์ ์คํ์ฝ๋๊ฐ ์คํ๋๋ค.
- if๋ฌธ ์์ if๋ฌธ ๊ฐ์ด ์ค์ฒฉ if๋ฌธ๋ ๊ฐ๋ฅํ๋ค.
- for ๋ฐ๋ณต๋ฌธ
- ๋ฆฌ์คํธ๋ ํํ ๊ฐ์ ์์ดํ ๊ฐ์ฒด๋ฅผ ์ด์ฉํ ์
for item in items:
do_something
๊ทธ ์์ดํ ๊ฐ์ฒด๋ค์ ์์๋ค ์ ์ฒด๋ฅผ ์ฐจ๋ก๋๋ก ํ์ฌ ๋ฌด์ธ๊ฐ๋ฅผ ์คํํ ์ ์๋ค.
>>> a = range(0,8,2)
>>> list(a)
- ์์ ๊ฐ์ด ์คํํ๋ฉด list๋ [0, 2, 4, 6]์ผ๋ก ์์ฑ๋๋ค.
- range์ ๊ดํธ ์ ์ฒซ๋ฒ์งธ๋ ์์์ ์, ๋๋ฒ์งธ๋ ๋์ ์(๋ฏธํฌํจ), ์ธ๋ฒ์งธ๋ ๊ฐ๊ฒฉ์ ๋ํ๋ธ๋ค.
- ์ฆ ์์ ์์๋ 0์ด์ 8๋ฏธ๋ง๊น์ง 2์ ๊ฐ๊ฒฉ์ผ๋ก๋ฅผ ์๋ฏธํ๋ค.
- ๊ฐ๊ฒฉ์ด ์์๋ฉด ๊ฐ๊ฒฉ๋งํผ ๊ฐ์ํ๋๋ก ํ๋ค.
- ๊ฐ๊ฒฉ์ ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ด 1์ด๊ณ , ์ด๊ธฐ๊ฐ์ ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ด ์ฒ์์ด๋ค. ๋๊ฐ์ ๋ฌด์กฐ๊ฑด ์ง์ ํด์ผ ํ๋ค.
- ์ค์ฒฉ for๋ฌธ๋ ๊ฐ๋ฅํ๋ค.
- break๋ ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋๊ฐ๊ฒ ํ๊ณ , continue๋ ์ดํ์ ์ฝ๋๋ฅผ ์คํํ์ง ์๊ณ ๋ค์ ๋ฐ๋ณต ์ฐจ์๋ฅผ ์ํํ๊ณ , pass๋ ์๋ฌด์์
๋ ํ์ง ์๊ฒ ๋ค๋ ๋ป์ด๋ค.
- while ๋ฐ๋ณต๋ฌธ
- while์ ์ฃผ์ด์ง ์กฐ๊ฑด์ด ์ฐธ์ธ ๋์ ๊ณ์ํด์ ๋ฃจํ๋ฅผ ์ํ์ํจ๋ค.
i = 0
while i<3:
print(i)
i += 1
- ์ ์ฝ๋๋ฅผ ์คํ์ํค๋ฉด 0, 1, 2๊ฐ ์ฐจ๋ก๋๋ก ์ถ๋ ฅ๋๋ค.
- while๋ฌธ ๋ํ ์ค์ฒฉ์ด ๊ฐ๋ฅํ๋ฉฐ break๋ฅผ ํตํด์ ํ์ถํ ์๋ ์๋ค.