1. Python ๊ฐ์
ํน์ง
- ํ์ด์ฌ์ ์ธ๊ฐ๋ค์ด ์ธ์ด์ด๋ค.
- if 4 in [1,2,3,4]: print
- ๋ฌธ๋ฒ์ด ์ฌ์ ๋น ๋ฅด๊ฒ ๋ฐฐ์ธ ์ ์์
- ํ์ด์ฌ๊ณผ C ์ธ์ด์ ์ฐฐ๋ก์ธ ๊ถํฉ
- ์๋์ ์ผ๋ก ์ฝ์ง๋ง ํ๋ก๊ทธ๋จ ์คํ์ด ๋๋ฆฐ ํ์ด์ฌ + ๋น ๋ฅธ C ์ธ์ด
- ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค ์ค C์ธ์ด๋ก ๋ง๋ค์ด์ง ๊ฒ๋ ๋ง์
- ⇒ NumPy: C ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ python์์ ์ธ ์ ์๋๋ก ๋ํ
โ ๋น ๋ฅด๊ณ ๋๋ฆฌ๋ค๋ ๊ฒ ๋ฌด์จ ์๋ฏธ์ธ๊ฐ?
์ปดํ์ผ ์ธ์ด Compile Language
- ์์ด๋ก ์์ฑํ ๋ฌธ์ฅ์ ์ปดํจํฐ๊ฐ ๋ฐ๋ก ์ธ์ํ ์ ์์
- ์ปดํ์ผ๋ฌ๋ผ๋ ๋ฒ์ญ๊ธฐ์ ๊ฐ์ ๊ฒ์ ๊ฑฐ์ณ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ์ ํจ
- ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์คํ
⇒ ์ปดํจํฐ๊ฐ ๋ฐ๋ก ํ ๋ฒ์ ๊ธฐ๊ณ์ด๋ฅผ ์ธ์ํ ์ ์๊ธฐ์ ์คํ ์๋๊ฐ ๋น ๋ฅธ ๊ฒ!
์ธํฐํ๋ฆฌํฐ ์ธ์ด Interpreter Language
- ์์ฑ๋ ์ฝ๋๋ฅผ ํ ์ค์ฉ ์ธํฐํ๋ฆฌํฐ๋ฅผ ๊ฑฐ์ณ ํด์
- ๊ธฐ๊ณ์ด ๋ณด๋ค๋ ์ธ๊ฐ์ ์ธ์ด์ ๋ ๊ฐ๊น๊ฒ ์ค๊ณ๋์๊ธฐ ๋๋ฌธ
⇒ ํ ์ค์ฉ ๊ฑฐ์น๋ ๊ณผ์ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์คํ ์๋๊ฐ ๋๋ฆผ
- ๊ฐ๊ฒฐํจ
- ๊ฐ์ฅ ์ข์ 1๊ฐ์ง ๋ฐฉ๋ฒ๋ง ์ด์ฉํ๋ ๊ฒ์ ์ ํธ. ex) ๋ค์ฌ์ฐ๊ธฐ, ๋์ด์ฐ๊ธฐ, ์ด ๋ง์ถค ๋ฑ ์ ํด์ง ๊ท์น
- ๊ฐ๋ฐ ์๋๊ฐ ๋น ๋ฆ
ํ์ด์ฌ์ ๊ฐ๋ฅ์ฑ
- ์์คํ
์ ํธ๋ฆฌํฐ ์ ์
- ์ปดํจํฐ ๊ณ ํด๋ฆฐ ์ฒญ์๋๊ตฌ ๋ฑ
- GUI(Graphic User Interface) ํ๋ก๊ทธ๋๋ฐ
- ์ฌ์ฉ์๊ฐ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๊ธฐ๋ฅ์ ๊ทธ๋ํฝ์ผ๋ก ๋ํ๋ธ ๊ฒ
- ๋งคํฌ๋ก ๋ฑ
- *Tkinter์ด๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ๋ฉด ์ฝ๊ฒ ๋ง๋ค ์ ์์
- C/C++ ์ธ์ด์์ ๊ฒฐํฉ
- ์น ํ๋ก๊ทธ๋๋ฐ → django, Flask
- ์์น ์ฐ์ฐ ํ๋ก๊ทธ๋๋ฐ → SQLite, My SQL
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ก๊ทธ๋๋ฐ
- ์ฌ๋ฌ ์ฌ๋์ด ๊ณต์ ํ์ฌ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ์ฒด๊ณํํด ํตํฉ, ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ์ ์งํฉ
- ๋ฐ์ดํฐ ๋ถ์, ์ฌ๋ฌผ ์ธํฐ๋ท(IoT) → Pandas ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ฃผ์ ๊ฐ๊ฒฉ ์์ธก, ๋ ์จ ์์ธก ๋ฑ
- ์ธ๊ณต์ง๋ฅ, ํ ์ํ๋ก์ฐ ์ฌ์ฉ ๊ฐ๋ฅ
ํ์ด์ฌ์ ๋ถ๊ฐ๋ฅ์ฑ
- ์์คํ
๊ณผ ๋ฐ์ ํ ํ๋ก๊ทธ๋๋ฐ ์์ญ
- Windows, Linux ๋ฑ์ ๋ง๋ค๊ณ ์ถ์ ๋๋ ํ์ด์ฌ์ ๋ถ์ ์
- C์ธ์ด ํน์ low-level ์ธ์ด๋ฅผ ์์์ผ ๋ง๋ค ์ ์์
- ๋ชจ๋ฐ์ผ ํ๋ก๊ทธ๋๋ฐ
- ์ฑ์ ๋ง๋ค ๋๋ Python๋ณด๋ค Kotlin, Java ๋ฑ์ ์ฌ์ฉํ์ฌ ๋ง๋๋ ๊ฒ์ด ๋ ์ข์. ios์ ๊ฒฝ์ฐ๋ Swift.
Python ๊ฐ๋ฐํ๊ฒฝ ์ค์
ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ
DEF) ์ผ๋ฐ์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐํ ์ ์๋ ํ๊ฒฝ
- ์ด์์ฒด์ ์ ์
- Windows, Linux, Mac OS
- ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ ์ ์
- ํ์ด์ฌ์ผ๋ก ์์ฑ๋ ์์ค์ฝ๋์ ์คํ ํ๋ก๊ทธ๋จ
- Anaconda: ๊ณผํ ๊ณ์ฐ ๋ถ์์ฉ ํ์ด์ฌ
- ๋ฐฐํฌํ์ธ Miniconda๋ฅผ ์ฌ์ฉ์, ํ์ด์ฌ์ ํ์ํ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ Windows์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํ๋ conda ๊ฐ์ํ๊ฒฝ ์ง์
- ์ฃผ์ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐPython ์ผ๋ฐ์ ์ธ ํ์ด์ฌ. ๊ธฐ๋ณธ์ ์ธ ๋ชจ๋ ํฌํจ.
Anaconda ๋ค์ํ ๊ณผํ ๊ณ์ฐ์ฉ ๋ชจ๋์ ๋ฌถ์ด ํจํค์ง๋ก ์ ๊ณต. ์ด ์ฑ ์์ ์ฌ์ฉํ๋ ํด Canopy ๋ค์ํ ๊ณผํ ๊ณ์ฐ์ฉ ๋ชจ๋์ ๋ฌถ์ด ํจํค์ง๋ก ์ ๊ณต. (์ต๊ทผ์๋ ์ฌ์ฉํ์ง ์๋๋ค๊ณ ํจ)
- ์ฝ๋ ํธ์ง๊ธฐ ์ ์
- ์ฝ๋ ํธ์ง๊ธฐ: ๋ฌธ์์ธ ์์ค์ฝ๋๋ฅผ ํธ์งํ ํ๋ก๊ทธ๋จ
- ํ ์คํธ ์๋ํฐ → ๋จ์ํ ๋ฌธ์๋ฅผ ํธ์งํ ๋ ์ฌ์ฉ
- ํตํฉ๊ฐ๋ฐํ๊ฒฝ(IDE) → ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐ๋ถํฐ ๋ฐฐํฌ๊น์ง ์ ๊ณผ์ ์ ์ง์
VI editor ๋ฆฌ๋ ์ค์ ๊ธฐ๋ณธ ๋ฌธ์ ํธ์ง ๋๊ตฌ Sublime Text ํ๋ก๊ทธ๋๋ฐ์ ํนํ๋ ๋ฌธ์ ํธ์ง ๋๊ตฌ Atom ํ๋ก๊ทธ๋๋ฐ์ ํนํ๋ ๋ฌธ์ ํธ์ง ๋๊ตฌ (Github) PyCharm ๋ค์ํ ๊ธฐ๋ฅ ๊ฐ์ถ ํ์ด์ฌ ์ ์ฉ ๊ฐ๋ฐ ๋๊ตฌ (IDE) Visual Studio Code ๋ง์ดํฌ๋ก์ํํธ์์ ์ ๊ณตํ๋ ์ฝ๋ ์ ์ฉ ์๋ํฐ.
2. ๊ธฐ๋ณธํ๊ฒฝ ์ธํ
Python ๋ค์ด๋ก๋
Windows
- Google์ Python ๊ฒ์ ํ ํ์ด์ง ์ ์ Welcome to Python.org
- Downloads ํญ์์ 3.11.1 ๋ฒ์ ๋ค์ด๋ก๋์๊ธฐ ์ปดํจํฐ์ ๋ฒ์ ์ ๋ง์ถฐ ๋ค์ด๋ก๋ ๋ฐ๊ธฐ. ์ค์ -์์คํ ์ ๋ค์ด๊ฐ๋ฉด 32๋นํธ/64๋นํธ ์ฒด์ ๋ฅผ ์ ์ ์์.
์ค์น๊ณผ์
โ ๋ง์ฝ ์์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์๋๋ค๋ฉด?
- PATH ์ฌ์ค์ ํ๊ธฐ
- ์์คํ ํ๊ฒฝ ๋ณ์ ํธ์ง — ํ๊ฒฝ ๋ณ์ — ์์คํ ๋ณ์ — PATH — ์๋ก ๋ง๋ค๊ธฐ — ์ฐพ์๋ณด๊ธฐ — ํ์ด์ฌ ์ค์น๋ ๊ฒฝ๋ก(python311ํ์ผ) — ํ์ธ — ์๋ก ๋ง๋ค๊ธฐ — ์ฐพ์๋ณด๊ธฐ — python311์ scripts ์ ํ — ํ์ธ
Anaconda ์ค์น
- Anaconda ์ค์น → Link์์ ์ปดํจํฐ์ ์ด์์ฒด์ ์ ๋ฒ์ ์ ๋ง๊ฒ python 3.9 installer์ ๋ค์ด๋ก๋ ๋ฐ๋๋ค.
- ๋ค์ด๋ฐ์์ผ๋ฉด Anaconda๋ฅผ ์ค์นํ๋ค. Just me๋ก ์ ํ
- ๊ฐ์ํ๊ฒฝ ์ค์
- Anaconda prompt ์คํ
- ์๋ ๋ช
๋ น์ ์ฐจ๋ก๋๋ก ์
๋ ฅ ํ ์คํ
๋๋ณด๊ธฐconda update conda : ์ฝ๋ค๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
conda update --all : ํ์ด์ฌ ํจํค์ง๋ฅผ ๋ชจ๋ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ค.
*์ฌ๊ธฐ์ ๋ฒ์ ์ ์์ ์ด ๋ค์ด๋ก๋ํ ํ์ด์ฌ ๋ฒ์ , ์ด๋ฆ์ ์์จ์ ์ผ๋ก ์ง์
conda deactivate : ๊ฐ์ ํ๊ฒฝ์์ ๋น ์ ธ๋์จ๋ค.
conda activate ํ๊ฒฝ์ด๋ฆ : ๊ฐ์ ํ๊ฒฝ์ ์ ๊ทผํ๋ค.
conda env list : ์์ฑํ ํ๊ฒฝ ๋ฆฌ์คํธ๋ฅผ ํ์ธํ๋ค.
conda create --name ํ๊ฒฝ์ด๋ฆ python=3.x : ํ์ด์ฌ 3.x๋ฒ์ ์ (ํ๊ฒฝ์ด๋ฆ)์ด๋ผ๋ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ๋ค.
conda update conda : ์ฝ๋ค๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
(2) PyCharm ์ค์น
โ Pycharm์ด๋
IDE(ํตํฉ๊ฐ๋ฐํ๊ฒฝ): ์ฝ๋ฉ, ๋๋ฒ๊ทธ, ์ปดํ์ผ, ๋ฐฐํฌ ๋ฑ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ๊ด๋ จ๋ ๋ชจ๋ ์์
์ ํ๋์ ํ๋ก๊ทธ๋จ ์์์ ์ฒ๋ฆฌํ๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด
Editor(์๋ํฐ) - Idle / VScode / PyCharm </aside>
- Google์ pycharm ๊ฒ์ ํ ํ์ด์ง ์ ์ PyCharm: the Python IDE for Professional Developers by JetBrains
- ๋ฌด๋ฃ์ธ Community ๋ฒ์ ๋ค์ด๋ก๋
- .exe ํ์ผ ์ค์น ๋ฐ next → finish
- ํ์ด์ฐธ ๊ธฐ๋ณธ ์ค์
(3) ํจํค์ง ๋ค์ด๋ก๋
ํจํค์ง ๋ค์ด๋ก๋
File ํญ > Setting > Project > Project Interpreter > + ๋ฒํผ > ์ํ๋ ํจํค์ง๋ฅผ ๊ฒ์ํ์ฌ ์ค์น
⇒ ์ถํ ๋ ๋ค๋ฃจ๊ฒ ๋ ์์
3. ์ ์ถ๋ ฅ ์ฐ์ต
๋จ์ถํค
์คํ Ctrl + Shift + F10
๊ฒ์์ฐฝ Shift 2๋ฒ
์ธํ Ctrl + Alt + S
ํ๋ฉด ์ ํ Ctrl + Tab
print("hello python!")
import random
print(random.choice([1, 2, 3, 4]))
ํ์ค์ ๋ ฅํจ์: input()
print("Enter your name?")
somebody = input()
print("Hi",somebody,"How are you today?")
#์คํ
Enter your name: #์
๋ ฅ ๋๊ธฐ
Minhye Kim #์ฌ์ฉ์ ์
๋ ฅ
Hi Minhye Kim How are you today? #์ถ๋ ฅ
- input() ํจ์๋ก ์ ๋ ฅ๋ฐ์ ๊ฐ์ ์๋ฃํ์ ๋ฌธ์ํ
ํ์ค์ถ๋ ฅํจ์: print()
1๏ธโฃ
>>> professor = "Minhye Kim"
>>> print(professor)
Minhye Kim
- 1๏ธโฃ๋ฒ ์ผ์ด์ค
- Line1
“professor๋ผ๋ ๊ณต๊ฐ์ Minhye Kim์ด๋ผ๋ ๊ธ์๋ฅผ ๋ฃ์ด๋ผ.”
”professor๋ผ๋ ๋ณ์์ Minhye Kim์ด๋ผ๋ ๊ฐ์ ๋ฃ์ด๋ผ.”
2๏ธโฃ
>>> a=7
>>> b=5
>>> print(a+b)
12
>>> a=7
>>> b=5
>>> print("a+b")
a+b
- ๋ฐ์ดํ(””)์ ์ ๋ฌด์ ๋ฐ๋ฅธ ๊ฒฐ๊ณผ ์ถ๋ ฅ
- “” ์์ ์ ๋ ฅํ ๊ฒฝ์ฐ (”a+b”) ⇒ ๋ฐ์ดํ ์์ ๋ด์ฉ์ ๊ทธ๋๋ก ์ถ๋ ฅ
- ๊ทธ๋ฅ ์
๋ ฅํ ๊ฒฝ์ฐ (a+b) ⇒ a๋ณ์์ b๋ณ์์ ํฉ์ผ๋ก ์ถ๋ ฅ
- ์ฌ์ ์ ๋ณ์(a, b)์ ๊ฐ์ ์ง์ ํ์ง ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋จ
>>>print("Hello World!","Hello Again!!!")
Hello World! Hello Again!!!
- ์ฝค๋ง(,)์ +๊ธฐํธ์ ์ฐจ์ด
- ์ฌ๋ฌ ๊ฐ์ ์ฐ๊ฒฐํ์ฌ ํ๋ฉด์ ์ถ๋ ฅํ ์ ์์
- +๊ธฐํธ๋ ์๋ฃํ์ด ๋ชจ๋ ๋ฌธ์ํ์ด์ด์ผ ํจ
- ์ฝค๋ง๋ ์๋ฃํ์ ์๊ด์์ด ์ถ๋ ฅ ๊ฐ๋ฅ
'๐ ์คํฐ๋ > ํ์ด์ฌ ์คํฐ๋ ๊ฐ์์๋ฃ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[1ํ/ํ๊ท๋ฆผ] 2์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ์๋ฃํ (0) | 2023.03.16 |
---|---|
[1ํ/์ง๋ค์ธ] 2์ฐจ์ ํ์ด์ฌ ์คํฐ๋- ์๋ฃํ (1) | 2023.03.16 |
[3ํ/๊น๊ฒฝ์] 2์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ์๋ฃํ (0) | 2023.03.15 |
[3ํ/์ด์งํ] 2์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ์๋ฃํ (0) | 2023.03.15 |
[2ํ/๊น๊ฐ๋ฆผ, ์ต๋ค์] 2์ฐจ์ ํ์ด์ฌ ์คํฐ๋ - ์๋ฃํ (2) | 2023.03.15 |