1. Python์ด๋?2. Python์ ์ฅ์ 3. Python์ ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ3.1. NumPy 3.2. Pandas3.3. TensorFlow4. ์์ sample code(colab ํ์ฉ)
1. Python์ด๋?
Python์ ๊ท๋ ๋ฐ ๋ก์ฌ์ด 1991๋
๋ฐํํ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์
๋๋ค. ๊ทธ๋ฌ๋ฉด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ฌด์์ผ๊น์? ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๋ด๊ฐ ์๋ํ ๋ฐ๋ฅผ ์ ํํ๊ณ ํจ์จ์ ์ผ๋ก ๊ธฐ๊ณ๊ฐ ์ํํ ์ ์๋๋ก ํ๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋๊น ๋ง์ฝ์ ์ปดํจํฐ๊ฐ ์๋ฆฌ์ฌ๋ผ๋ฉด ์ด๋ค ์ฌ๋ฃ๋ค์ ์ค๋นํ๊ณ ์ด๋ป๊ฒ ์๋ฆฌ๋ฅผ ํด์ ๋จน์ ์ ์๋ ์์์ ๋ง๋ค๋๋ก ๋ช
๋ น์ ๋ด๋ฆด ์ ์๋ ๊ฒ์ด์ฃ .
ย
Python์ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ผ๊ณ ํ๋๋ฐ ์ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์์๊น์?
์ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ๋ก๊ทธ๋๋ฐ ๋๋ ๋ก์ฐ ๋ ๋ฒจ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(low-level programming language)๋ ์ปดํจํฐ๊ฐ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์์ฑ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ๊ณ์ด์ ์ด์
๋ธ๋ฆฌ์ด๋ฅผ ๋งํฉ๋๋ค. ์คํ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด์ง๋ง ๋ฐฐ์ฐ๊ธฐ๊ฐ ์ด๋ ค์ฐ๋ฉฐ ์ ์ง๋ณด์๊ฐ ํ๋ ๊ฒ์ด ๋จ์ ์
๋๋ค. ํ์ฌ๋ ํน์ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ์ฌ์ฉ๋์ง ์์ต๋๋ค. (์ถ์ฒ : ์ํคํผ๋์)
ย
์ฆ, ์ฐ๋ฆฌ๋ Python๊ณผ ๊ฐ์ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค.
2. Python์ ์ฅ์
Python์ 2019๋
๊ฐ์ฅ ์ธ๊ธฐ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ ์ ๋๋ ๋ฑ ์ฃผ๋ชฉ ๋ฐ๋ ์ธ์ด์
๋๋ค. ๋ฌผ๋ก , C๋ Java์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋ง์ด ์ฌ์ฉ๋๊ธด ํ์ง๋ง Python์ด ์ดํ ๋ก ์ธ๊ธฐ๊ฐ ๋ง์ ์ด์ ๊ฐ ๋ฌด์์ผ๊น์?
- ๋ฐฐ์ฐ๊ธฐ ์ฌ์์!
์ ํด์ง Python ๋ฌธ๋ฒ์ ์ ๋ง๊ฒ ์
๋ ฅํ๋ค๋ฉด ๋ด๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ด์. ์๋์ ๊ฐ์ด print(โ๋ด์ฉโ)๋ผ๊ณ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ค๋ฉด ์ถ๋ ฅ๋ฌธ์ ์ป์ ์ ์์ต๋๋ค.
๋ฌผ๋ก , ๋ค๋ฅธ ์ธ์ด๋ ํด๋น ๋ฌธ๋ฒ์ ๋ง๊ฒ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ง๋ง ํ์ด์ฌ๊ณผ ๋ฌ๋ฆฌ ์๋ค์ ํ์ํ ๋ฌธ์ฅ๋ค์ด ์์ด์ผ ํ๋ค๋ ์ ์ ๊ณ ๋ คํ๋ฉด ํ์ด์ฌ์ ํจ์ฌ ๋ฐฐ์ฐ๊ธฐ ์ฝ์ต๋๋ค.
print("hello world")
ย
- ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํด์! C์ ๊ฐ์ ์ปดํ์ผ๋ฌ ์ธ์ด๋ณด๋ค ์ธํฐํ๋ฆฌํฐ ์ธ์ด๊ฐ ์กฐ๊ธ ๋ ์ฝ๊ณ ๋น ๋ฅด๊ณ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ฌผ๋ก ์ฅ๋จ์ ์ด ์์ต๋๋ค. ์ปดํ์ผ๋ฌ ์ธ์ด๋ ์์ ์ ์ด๊ณ ์ฝ๋ ์ ์ฒด๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ณํํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๊ณ์๊ฒ ๋ ์น์ํฉ๋๋ค. ์ฆ, ์คํ ์๋๊ฐ ๋ ๋น ๋ฅด์ฃ . ํ์ด์ฌ์ ํ ์ค์ ์ฝ๊ณ ํ ์ค์ ์คํํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ปดํ์ผ๋ฌ ์ธ์ด๋ณด๋ค ๋นจ๋ฆฌ ๊ฐ๋ฐํ ์ ์์ง๋ง ์คํ ์๋๊ฐ ๋น ๋ฅด์ง ์์ต๋๋ค.
ย
- ๋ฌด๋ฃ์ ์์ฒญ๋ ์ปค๋ฎค๋ํฐ ๋ณด์
ํ์ด์ฌ์ ์คํ ์์ค์
๋๋ค. ๋น์ฉ ๊ฑฑ์ ์์ด ์ธ์ ์ด๋์๋ ํ์ด์ฌ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Google์ด๋ YouTube์ Python์ด๋ผ๊ณ ๊ฒ์๋ง ํ์
๋ ๋ง์ ์๋ฃ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
์คํ์์ค๋?
์ ์๊ถ์๊ฐ ์์ค ์ฝ๋๋ฅผ ๊ณต๊ฐํ์ฌ ๋๊ตฌ๋ ๋ณ ๋ค๋ฅธ ์ ์ฝ ์์ด ์์ ๋กญ๊ฒ ์ฌ์ฉ, ๋ณต์ , ์์ ํ ์ ์๋ ์ํํธ์จ์ด
ย
- ๋ง์ ๊ฒ์ ํ ์ ์์ด์!
ํ์ด์ฌ์ผ๋ก ๋ฐ์ดํฐ ๋ถ์๊ณผ ์
๋ฌด ์๋ํ์์๋ถํฐ Django๋ก ์น ํ๋ก๊ทธ๋๋ฐ, ์์คํ
์ ํธ๋ฆฌํฐ ์ ์, IoT, ๋ฐ์ดํฐ ๋ถ์, ์ธ๊ณต์ง๋ฅ, game ๊ฐ๋ฐ ๋ฑ ๋ง์ ๊ฒ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋์ Google, YouTube, kakao ๋ฑ ๋ง์ ๊ธฐ์
์์ ํ์ด์ฌ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
ย
3. Python์ ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๊ณ ์ถ์ผ์๋ค๋ฉด 'ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ํผ'๋ฅผ ๊ฒ์ํด์ฃผ์ธ์.
3.1. NumPy
Numerical Python์ ์ค์๋ง๋ก, ํ๋ ฌ ์ฐ์ฐ์ด๋ ๋๊ท๋ชจ ๋ค์ฐจ์ ๋ฐฐ์ด์ ํธ๋ฆฌํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ง์ํ๋ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋งํฉ๋๋ค.
ย
3.2. Pandas
Python์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ํ๊ณผ ์ด๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ ๊ฐ์ฒด๋ฅผ ํธ๋ฆฌํ๊ฒ ๋ค๋ฃจ๊ณ ๋์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ํจ์๋ฅผ ์ ๊ณตํ๋ ๋๊ตฌ์
๋๋ค.
ย
3.3. TensorFlow
์ธ๊ณต์ง๋ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก google์์ ์ง์ํฉ๋๋ค.
ย
4. ์์ sample code(colab ํ์ฉ)
x = 3 y = 7 x + y
print('hello world')
import requests from bs4 import BeautifulSoup #url์ naver์์ '์ต์ ์ํ ์์'๋ก ๊ฒ์ url = 'https://search.naver.com/search.naver?sm=tab_sug.top&where=nexearch&query=%EC%B5%9C%EC%8B%A0%EC%98%81%ED%99%94+%EC%88%9C%EC%9C%84&oquery=%EC%B5%9C%EC%8B%A0%EC%98%81%ED%99%94&tqi=hu8jolprvOsssfE0NVVssssst0o-117462&acq=%EC%B5%9C%EC%8B%A0%EC%98%81%ED%99%94&acr=1&qdt=0' response = requests.get(url) response.encoding = 'utf-8' html = response.text soup = BeautifulSoup(html, 'html.parser') ์ํ๋ฆฌ์คํธ = soup.select('.name') # lecture ํด๋์ค ํ์ for ์์, ์ํ๋ช in enumerate(์ํ๋ฆฌ์คํธ, 1): print(์์, ์ํ๋ช .text)
import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4]) plt.ylabel('some numbers') plt.show()
ย