๐Ÿ“š ์Šคํ„ฐ๋””/ํŒŒ์ด์ฌ ์Šคํ„ฐ๋”” ๊ฐ•์˜์ž๋ฃŒ

[2ํŒ€/๊น€๊ฐ€๋ฆผ, ์ตœ๋‹ค์˜ˆ] 9์ฐจ์‹œ ๋ชจ๋“ˆ๊ณผ ํŒจํ‚ค์ง€

omomirg 2023. 5. 26. 00:22

9แ„Œแ…ฎแ„Žแ…ก_แ„†แ…ฉแ„ƒแ…ฒแ†ฏแ„€แ…ชแ„‘แ…ขแ„แ…ตแ„Œแ…ต_แ„€แ…ชแ„Œแ…ฆ.pdf
1.30MB
9แ„Žแ…กแ„‰แ…ต_แ„†แ…ฉแ„ƒแ…ฒแ†ฏแ„€แ…ชแ„‘แ…ขแ„แ…ตแ„Œแ…ต_แ„€แ…กแ†ผแ„‹แ…ดแ„‹แ…กแ†ซ.pdf
0.70MB

๋ชจ๋“ˆ๊ณผ ํŒจํ‚ค์ง€

์ฐธ๊ณ ๋„์„œ : ๋ฐ์ดํ„ฐ ๊ณผํ•™์„ ์œ„ํ•œ ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์ตœ์ƒ์ฒ 

๋ชจ๋“ˆ๊ณผ ํŒจํ‚ค์ง€์˜ ์ดํ•ด

  • ๋ชจ๋“ˆ์˜ ๊ฐœ๋…→ ํ•˜๋‚˜ํ•˜๋‚˜ ์—ฐ๊ฒฐํ•ด ์–ด๋–ค ๋ชฉ์ ์„ ๊ฐ€์ง„ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ์ธํ„ฐํŽ˜์ด์Šค? ํ•ด๋‹น ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“ˆ ๊ฐ„์˜ ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ์•ฝ์†random ๋ชจ๋“ˆ : ๋‚œ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ์ƒ์„ฑ์‹œ์ผœ์ฃผ๋Š” ๋ชจ๋“ˆ
  • import random random.randint(l, 1000) # 198
  • ํŒŒ์ด์ฌ์—์„œ์˜ ๋ชจ๋“ˆ
  • ๊ฐ ๋ชจ๋“ˆ๋งˆ๋‹ค ์ €๋งˆ๋‹ค ์—ญํ• ์ด ์žˆ์–ด ์„œ๋กœ ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊ณผ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์—ฐ๊ฒฐ๋˜๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ ์กฐ๊ฐ
  • ํŒจํ‚ค์ง€์˜ ๊ฐœ๋…from ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ : ๋ชจ๋“ˆ์„ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด ํŒจํ‚ค์ง€๋ถ€ํ„ฐ ํ˜ธ์ถœ
  • ๋ชจ๋“ˆ์˜ ๋ฌถ์Œ

๋ชจ๋“ˆ ๋งŒ๋“ค๊ธฐ

  • ๋ชจ๋“ˆ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต๋‹ค๋ฅธ ํŒŒ์ด์ฌ ํŒŒ์ผ์ด๋‚˜ ํŒŒ์ด์ฌ ์…ธ์—์„œ import๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ชจ๋“ˆ์˜ ํ•จ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๋ถˆ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
    import fah_converter
    
    print("Enter a Celsius value:")
    Celsius = float(inputO)
    fahrenheit = fah_converter.covert_c_to_f(celsiiis) # covert_c_to_f() ํ•จ์ˆ˜ ์‚ฌ์šฉ
    print("That’s", fahrenheit, "degrees Fahrenheit.")
    # 'module_ex.py'๋กœ ์ €์žฅ
    
    <aside> ๐Ÿ’ก ํ˜ธ์ถœ๋ฐ›๋Š” ๋ชจ๋“ˆ๊ณผ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ™์€ ๋””๋ ‰ํ„ฐ๋ฆฌ ์•ˆ์— ์žˆ์–ด์•ผ ํ•œ๋‹ค
  • </aside>
  • def covert_c_to_f(celcius_value)๏ผš return celcius_value *9.0/5+32 # 'fah_converter.py'๋กœ ์ €์žฅ -> fah_converter๊ฐ€ ๋ชจ๋“ˆ
  • ํŒŒ์ด์ฌ์—์„œ๋Š” .py ํŒŒ์ผ ์ž์ฒด๊ฐ€ ๋ชจ๋“ˆ์ด๋‹ค. ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ํŒŒ์ด์ฌ ๋ชจ๋“ˆ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•: ํ˜„์žฌ ์‹ค์Šต์ค‘์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ .py ํŒŒ์ผ์„ ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ , ๊ทธ ํŒŒ์ผ์— ํ•„์š”ํ•œ ํ•จ์ˆ˜๋ฅผ ์ €์žฅ
  • ๋„ค์ž„์ŠคํŽ˜์ด์Šคํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์˜ ํ•จ์ˆ˜ ์ด๋ฆ„๊ณผ ํ˜ธ์ถœ๋œ ๋ชจ๋“ˆ์˜ ํ•จ์ˆ˜ ์ด๋ฆ„์ด ๊ฐ™์€ ๊ฒฝ์šฐ ์‚ฌ์šฉ
    • ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค ๋งŒ๋“œ๋Š” ๋ฒ•
      1. ๋ชจ๋“ˆ ์ด๋ฆ„์— ์•Œ๋ฆฌ์•„์Šค(alias)๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ชจ๋“ˆ ์•ˆ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ• > ๊ฐ€์žฅ ์„ ํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•
      ์•Œ๋ฆฌ์•„์Šค๋Š” ์ผ์ข…์˜ ๋ณ„์นญ์œผ๋กœ ๋ชจ๋“ˆ์˜ ์ด๋ฆ„์„ ๋ฐ”๊ฟ” ๋ถ€๋ฅผ ๋•Œ ์‚ฌ์šฉํ•จ ๋ชจ๋“ˆ์˜ ์ด๋ฆ„์ด ๋„ˆ๋ฌด ๊ธธ๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ฝ”๋“œ์™€ ํ—ท๊ฐˆ๋ฆฌ๋Š” ์ด๋ฆ„์ผ ๋•Œ as ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉ
      1. from ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ์—์„œ ํŠน์ • ํ•จ์ˆ˜ ๋˜๋Š” ํด๋ž˜์Šค๋งŒ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•
      from fah_converter import covert_c_to_f
      print(covert_c_to_f(41.6))
      
      ‘from ๋ชจ๋“ˆ๋ช… import ๋ชจ๋“ˆ ์•ˆ์— ์žˆ๋Š” ํ•จ์ˆ˜๋ช…’์˜ ํ˜•ํƒœ๋กœ ์ž‘์„ฑ<aside> ๐Ÿ’ก from์€ ๊ผญ ๋ชจ๋“ˆ์„ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค์›Œ๋“œ๊ฐ€ ์•„๋‹ˆ๋‹คํŒจํ‚ค์ง€๋ฅผ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น ํŒจํ‚ค์ง€ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“ˆ์„ ํ˜ธ์ถœํ•  ๋•Œ๋„ from ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค
      1. ํ•ด๋‹น ๋ชจ๋“ˆ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ํ•จ์ˆ˜, ํด๋ž˜์Šค, ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ณ„ํ‘œ(*)๋ฅผ ์‚ฌ์šฉ
      ์ปดํ“จํ„ฐ์—์„œ ๋ณ„ํ‘œ๋Š” ๊ณฑ์…ˆ์˜ ์˜๋ฏธ๋„ ์žˆ์ง€๋งŒ ๋ชจ๋“  ๊ฒƒ์ด๋ผ๋Š” ๋œป๋„ ์žˆ๋‹ค.
      from fah_converter import
      print(covert_c_to_f(41.6))
      
    • ‘from ๋ชจ๋“ˆ๋ช… import ์ˆ˜’: ํ•ด๋‹น ๋ชจ๋“ˆ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ˜ธ์ถœ
    • </aside>
    • : ํ•ด๋‹น ๋ชจ๋“ˆ ์•ˆ์— ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. (๋ณ„๋„์˜ ๋ชจ๋“ˆ๋ช…์„ ์จ ์ฃผ์ง€ ์•Š์•„๋„ ๋‹จ๋… ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
    • import fah_converter as fah print(fah.covert_c_to_f(41.6))
  • ๋ชจ๋“ˆ ํ˜ธ์ถœ์˜ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ
  • ๋‚ด์žฅ ๋ชจ๋“ˆ์˜ ์‚ฌ์šฉ
    • random ๋ชจ๋“ˆ
    ๋‚œ์ˆ˜ ์ƒ์„ฑ ๋ชจ๋“ˆ
    import random
    print(random.randint (0, 100)) # 0-100 ์‚ฌ์ด์˜ ์ •์ˆ˜ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑ
    print(random.random())         # ์ผ๋ฐ˜์ ์ธ ๋‚œ์ˆ˜ ์ƒ์„ฑ
    
    • time ๋ชจ๋“ˆ
    ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œ๊ฐ„์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ํ˜„์žฌ ์‹œ๊ฐ์„ ์•Œ๋ ค์ค€๋‹ค.
    import time
    print(time.localtimeO) # ํ˜„์žฌ ์‹œ๊ฐ ์ถœ๋ ฅ
    
    • urllib ๋ชจ๋“ˆ
    ์›น๊ณผ ๊ด€๋ จ๋œ urllib ๋ชจ๋“ˆ์€ ์›น ์ฃผ์†Œ์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
    import urllib.request
    response = urllib.request.urlopen("http๏ผš//theteamlab.io")
    print(response.read())
    
  • ๋Œ€ํ‘œ์ ์œผ๋กœ urllib์˜ request ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • URL์˜ ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ๋Œ€ํ‘œ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” ํ˜„์žฌ ์‹œ๊ฐ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  • ์ •์ˆ˜ ๋ชจ๋“ˆ์„ ์ƒ์„ฑํ•˜๋Š” randint() ํ•จ์ˆ˜ / ์ž„์˜์˜ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” random() ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค

ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ

  • ํŒจํ‚ค์ง€์˜ ๊ตฌ์„ฑ์ฆ‰, ์—ฌ๋Ÿฌ ๊ฐœ์˜ .py ํŒŒ์ผ์ด ํ•˜๋‚˜์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ‘ํŒจํ‚ค์ง€’๋ผ๊ณ  ํ•œ๋‹ค.<aside> ๐Ÿ’ก ํŒŒ์ผ๋ช… ์ž์ฒด๊ฐ€ ์˜ˆ์•ฝ์–ด๋ฅผ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ๋งŒ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.๋”ฐ๋ผ์„œ ํŒจํ‚ค์ง€ ๋‚ด์˜ ๋ช‡๋ช‡ ํŒŒ์ผ์—๋Š” _ _ init _ , _ _ main _ ๋“ฑ์˜ ํ‚ค์›Œ๋“œ ํŒŒ์ผ๋ช…์ด ์‚ฌ์šฉ๋œ๋‹ค.
  • </aside>
  • ํŒŒ์ด์ฌ์˜ ๋ชจ๋“ˆ์„ ๊ตฌ์„ฑํ•  ๋•Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŒจํ‚ค์ง€์—๋„ ์˜ˆ์•ฝ์–ด๊ฐ€ ์žˆ๋‹ค.
  • ํŒจํ‚ค์ง€ : ํ•˜๋‚˜์˜ ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“ˆ์˜ ๋ฌถ์Œ ๋ชจ๋“ˆ์€ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ํŒจํ‚ค์ง€๋Š” ํŒŒ์ผ์ด ํฌํ•จ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ(ํด๋”)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
  • ํŒจํ‚ค์ง€ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต
    • 1๋‹จ๊ณ„ : ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์„ฑํ•˜๊ธฐ
    ํŒจํ‚ค์ง€ ์ด๋ฆ„ : ‘roboadvisor’ (ํŒจํ‚ค์ง€ ์ด๋ฆ„ ๋Œ€๋ถ€๋ถ„์€ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉ) roboadvisor ์„ธ ๊ฐ€์ง€ ๊ธฐ๋Šฅ
    1. crawling๏ผˆํฌ๋กค๋ง๏ผ‰: ์ฃผ์‹ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ธํ„ฐ๋„ท์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ
    2. database๏ผˆ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๏ผ‰: ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ
    3. analysis๏ผˆ๋ถ„์„๏ผ‰: ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์˜๋ฏธ ์žˆ๋Š” ๊ฐ’์„ ๋ฝ‘์•„๋‚ด๋Š” ๊ธฐ๋Šฅ
    ๊ฐ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ ๋‹ค์‹œ ์„ธ๋ถ€ ํŒจํ‚ค์ง€์— ๋งž์ถฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ตฌ์„ฑ
    mkdir roboadvisor
    cd roboadvisor
    mkdir crawling
    mkdir database
    mkdir analysis
    
    • 2๋‹จ๊ณ„ : ๋””๋ ‰ํ„ฐ๋ฆฌ๋ณ„๋กœ ํ•„์š”ํ•œ ๋ชจ๋“ˆ ๋งŒ๋“ค๊ธฐ
    ๋งŒ๋“ค์–ด์ง„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ํ•„์š”ํ•œ ๋ชจ๋“ˆ์„ ๋งŒ๋“ ๋‹ค.ํ•˜์ง€๋งŒ ๊ฐ๊ฐ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํ•˜๋‚˜์˜ ํŒจํ‚ค์ง€๋กœ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์˜ˆ์•ฝ๋œ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.๊ฐ ํ•˜์œ„ ํŒจํ‚ค์ง€์— ํฌํ•จ๋œ ๋ชจ๋“ˆ์— ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„
    def series_test():
        print("series")
    
    def statics_test():
        print("statics")
    
    ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŒŒ์ด์ฌ ์…ธ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค.</aside>
    • 3๋‹จ๊ณ„ : ๋””๋ ‰ํ„ฐ๋ฆฌ๋ณ„๋กœ _ _init _ _.py ๊ตฌ์„ฑํ•˜๊ธฐ
    ๋””๋ ‰ํ„ฐ๋ฆฌ๋ณ„๋กœ _ _ init _ _.py ํŒŒ์ผ์„ ๊ตฌ์„ฑํŒจํ‚ค์ง€ ๊ฐœ๋ฐœ์ž๋‚˜ ์„ค์น˜ ์‹œ ํ™•์ธํ•ด์•ผ ํ•  ๋‚ด์šฉ ๋“ฑ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ (ํŒจํ‚ค์ง€์˜ ๊ตฌ์กฐ)
    • 4๋‹จ๊ณ„: _ _ main _ _.py ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ
    ํŒจํ‚ค์ง€๋ฅผ ํ•œ ๋ฒˆ์— ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด roboadvisor ๋””๋ ‰ํ„ฐ๋ฆฌ์— _ _ main _ _.py ํŒŒ์ผ์„ ๋งŒ๋“ฆ
    from analysis.series import series_test
    from crawling.parser import parser_test
    
    if __name__ == '__main__':
        series_test()
        parser_test()
    
    • 5๋‹จ๊ณ„ : ์‹คํ–‰ํ•˜๊ธฐ๏ผˆํŒจํ‚ค์ง€ ์ด๋ฆ„๋งŒ ํ˜ธ์ถœ)
    ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ํ•ด๋‹น ํŒจํ‚ค์ง€์˜ ์ตœ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ‘python ํŒจํ‚ค์ง€๋ช…'์„ ์ž…๋ ฅํ•˜์—ฌ ์‹คํ–‰
  • python roboadvisor series parse
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ํ˜ธ์ค„ํ•ด์•ผ ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ์„ from๊ณผ import๋ฌธ์œผ๋กœ ํ˜ธ์ถœํ•œ ํ›„, if ๊ตฌ๋ฌธ ์•„๋ž˜์— ์‹ค์ œ ์‹คํ–‰ ์ฝ”๋“œ ์ž‘์„ฑ
  • import analysis import crawling import database __all__= ['analysis', 'crawling', 'database']
  • : ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ํŒŒ์ด์ฌ์˜ ํŒจํ‚ค์ง€๋ผ๊ณ  ์„ ์–ธํ•˜๋Š” ์ดˆ๊ธฐํ™” ์Šคํฌ๋ฆฝํŠธ
  • from roboadvisor.analysis import series series.series_test()
  • <aside> ๐Ÿ’ก roboadvisor์˜ ์ƒ์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ํŒŒ์ด์ฌ ์…ธ์„ ์‹คํ–‰ํ•ด์•ผ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰
  • analysis ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” series.py์™€ statics.py์— ๋“ค์–ด๊ฐˆ ์ฝ”๋“œ
  • _ _ init _ _.py : ๊ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ํŒจํ‚ค์ง€์ž„์„ ๋‚˜ํƒ€๋‚ด๋Š” ์˜ˆ์•ฝ ํŒŒ์ผ
  • ํ•˜๋‚˜์˜ ํŒจํ‚ค์ง€๋Š” ์ค‘์ฒฉ๋œ ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํŒจํ‚ค์ง€ ์•ˆ์— ๋˜ ํŒจํ‚ค์ง€๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
  • ๋จผ์ € cmd ์ฐฝ์— ๋‹ค์Œ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜์—ฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  • ์ธํ„ฐ๋„ท์—์„œ ์ฃผ์‹ ์ •๋ณด๋ฅผ ๋ฐ›์•„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ณ , ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ
  • ํŒจํ‚ค์ง€ ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค
    • ์ ˆ๋Œ€์ฐธ์กฐ
    ์ „์ฒด ํŒจํ‚ค์ง€์˜ ๊ตฌ์กฐ๋ฅผ ์ƒ๊ฐํ•ด ๋ชจ๋“ˆ์˜ ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋‘ ํ˜ธ์ถœ
    • ์ƒ๋Œ€ ์ฐธ์กฐ
    ํ˜ธ์ถœํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ˜ธ์ถœ
  • But ํŒจํ‚ค์ง€ ๋‚ด์—์„œ๋Š” ์ƒ๋Œ€ ์ฐธ์กฐ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฝ”๋“œ๋ฅผ ๊ฐ„๋žตํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ํŒจํ‚ค์ง€ ์ „์ฒด๋ฅผ ๋ณด๋Š” ์ž…์žฅ์—์„œ๋Š” ๋ชจ๋“  ํŒจํ‚ค์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ์ •ํ™•ํžˆ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ํŒจํ‚ค์ง€ ๋‚ด๋ถ€์—์„œ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋ฅผ ๋ถ€๋ฅผ ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•!
  • ํŒจํ‚ค์ง€ ๋‚ด์—์„œ ๋ชจ๋“ˆ์„ ์„œ๋กœ ํ˜ธ์ถœํ•  ๋•Œ ์‚ฌ์šฉ

๊ฐ€์ƒํ™˜๊ฒฝ ์‚ฌ์šฉํ•˜๊ธฐ

  • ๊ฐ€์ƒํ™˜๊ฒฝ์˜ ๊ฐœ๋…ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•  ๋•Œ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๊ฐ€ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ๋…๋ฆฝ์ ์ธ ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰ ํ™˜๊ฒฝ ๊ตฌ์„ฑ
  • ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“  ํŒจํ‚ค์ง€๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๊ฐ€์ƒํ™˜๊ฒฝ ์„ค์ •ํ•˜๊ธฐ
    • ๊ฐ€์ƒํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ
    # cmd ์ฐฝ์— ์ž…๋ ฅ
    conda create -n my_project python=3.4
    # conda -> ์‹คํ–‰ ๋ช…๋ น์–ด์ด๊ณ , create -> ๊ฐ€์ƒํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ์ธ์ˆ˜, 
    # -n my_project์—์„œ -n : name์˜ ์ค„์ž„๋ง, my_project : ๊ตฌ์„ฑํ•  ๊ฐ€์ƒํ™˜๊ฒฝ ์ด๋ฆ„
    # python=3.4 : ์„ค์น˜๋˜๋Š” ํŒŒ์ด์ฌ์˜ ๋ฒ„์ „
    
    my_project๋ผ๋Š” ์ด๋ฆ„์˜ ๊ฐ€์ƒํ™˜๊ฒฝ์„ python 3.4 ๋ฒ„์ „์œผ๋กœ ๋งŒ๋“ค์–ด๋ผ.
    • ๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰ํ•˜๊ธฐ
    activate my.project
    
    my_project๋ผ๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ์„ ํ™œ์„ฑํ™”ํ•˜๋ผ๋Š” ๋œป
    where python
    
    ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” ํŒŒ์ด์ฌ์˜ ์œ„์น˜๊ฐ€ ์–ด๋””์ธ์ง€ ์ถœ๋ ฅ๋œ๋‹ค.์‹คํ–‰๋œ ๊ฐ€์ƒํ™˜๊ฒฝ ์ข…๋ฃŒ
    • ๊ฐ€์ƒํ™˜๊ฒฝ ํŒจํ‚ค์ง€ ์„ค์น˜ํ•˜๊ธฐ
    conda install matplotlib
    
    conda install ๋‹ค์Œ์— ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ๋„ฃ๋Š”๋‹ค.
    • ๊ฐ€์ƒํ™˜๊ฒฝ ํŒจํ‚ค์ง€ ์‹ค์Šตํ•˜๊ธฐ
    matplotlib : ๋Œ€ํ‘œ์ ์ธ ํŒŒ์ด์ฌ ๊ทธ๋ž˜ํ”„ ๊ด€๋ฆฌ ํŒจํ‚ค์ง€๋กœ, ์—‘์…€๊ณผ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅ
  • deactivate
  • ๊ตฌ์„ฑ๋œ ๊ฐ€์ƒํ™˜๊ฒฝ์˜ ์ด๋ฆ„์„ activate ๋‹ค์Œ์— ๋„ฃ์œผ๋ฉด ํ•ด๋‹น ๊ฐ€์ƒํ™˜๊ฒฝ์ด ์‹คํ–‰๋˜๊ณ , ํ”„๋กฌํ”„ํŠธ ์•ž์— (my_project)๋ผ๋Š” ๊ฐ€์ƒํ™˜๊ฒฝ ์ด๋ฆ„์ด ๋ถ™๋Š”๋‹ค. (ํ•ด๋‹น ๊ฐ€์ƒํ™˜๊ฒฝ์˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋งŒ ์‹คํ–‰)