πŸ“š μŠ€ν„°λ””/파이썬 μŠ€ν„°λ”” κ°•μ˜μžλ£Œ

[1νŒ€/ν•œκ·œλ¦Ό] 1μ°¨μ‹œ 파이썬 μŠ€ν„°λ”” - μž…μΆœλ ₯

onegyul 2023. 3. 9. 20:29

1μ°¨μ‹œ_μž…μΆœλ ₯_과제.pdf
0.37MB
1μ°¨μ‹œ_μž…μΆœλ ₯_κ°•μ˜μ•ˆ.pdf
2.62MB

1μ£Όμ°¨ κ°•μ˜ 주제 : 파이참 μ„€μΉ˜, κ°œμš”, μž…μΆœλ ₯

ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ 이해

  • λŒ€μ½”λ”©μ‹œλŒ€μ™€ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄
    • μ˜€λŠ˜λ‚  μš°λ¦¬λŠ” ‘λŒ€(倧)μ½”λ”©μ‹œλŒ€’에 μ‚΄κ³  μžˆλ‹€.
    • μ½”λ”©(coding) : ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λŠ” ν–‰μœ„ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄(programming language) : 인간이 μ›ν•˜λŠ” 것을 μ»΄ν“¨ν„°λ‘œ μ‹€ν–‰μ‹œν‚€κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ”, 컴퓨터가 이해할 수 μžˆλŠ” μ–Έμ–΄
    • ‘컴퓨터가 이해할 수 μžˆλŠ” μ–Έμ–΄’ → μ½”λ“œ(code) → μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” ν–‰μœ„ → μ½”λ”©(coding)
    • ν”„λ‘œκ·Έλž˜λ°(programming) : ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜λŠ” 것

세상을 λ°”κΎΈλŠ” ν”„λ‘œκ·Έλž˜λ°μ˜ κ²°κ³Όλ¬Ό!

  • 뢈과 2010λ…„λŒ€ μ€‘λ°˜κΉŒμ§€λ§Œ 해도 λŒ€λΆ€λΆ„μ˜ μ‚¬λžŒλ“€μ€ μž₯을 λ³Ό λ•Œ μ΄λ§ˆνŠΈμ™€ 같은 λŒ€ν˜•λ§ˆνŠΈλ₯Ό μ΄μš©ν•¨μˆ«μžλ‘œ 증λͺ…됨 (μ½”λ‘œλ‚˜19 이후 쿠팑의 λ§€μΆœμ€ μ§€μ†μ μœΌλ‘œ μƒμŠΉ, μ΄λ§ˆνŠΈλŠ” 정체 μƒνƒœ)
  • μ½”λ‘œλ‚˜19 이후 쿠팑과 같이 λΉ λ₯Έ 배솑이 κ°€λŠ₯ν•œ 온라인 μ‡Όν•‘λͺ°μ„ 더 μ„ ν˜Έν•˜κ²Œ 됨

μ‚°μ—…μ˜ λ³€ν™” : μ˜€ν”„λΌμΈ → 온라인으둜!

  • μœ„ 자료의 κ²°κ³ΌλŠ” λ‹¨μˆœνžˆ μ‚¬λžŒλ“€μ΄ μ΄λ§ˆνŠΈμ—μ„œ 물건을 κ΅¬μž…ν•˜μ§€ μ•Šκ³  μΏ νŒ‘μ—μ„œ 물건을 μ‚°λ‹€λŠ” κ²ƒμ˜ μ˜λ―Έλ§Œμ„ λ‹΄κ³  μžˆμ§€λŠ” μ•ŠμŒ
  • μ‚°μ—…μ˜ λ³€ν™”λ₯Ό λ‚˜νƒ€λ‚΄κΈ°λ„ 함. κΈ°μ‘΄ μ΄λ§ˆνŠΈμ— ν•„μš”ν•œ λ§Žμ€ 인λ ₯이 λͺ¨λ‘ 개발자둜 λŒ€μ²΄λ˜κ³  μžˆμŒμ„ μ˜λ―Έν•¨.
  • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό λ°°μš°λŠ” 이유“이 λ‚˜λΌμ˜ λͺ¨λ“  μ‚¬λžŒμ΄ ν”„λ‘œκ·Έλž¨μ„ λ°°μ›Œμ•Ό ν•œλ‹€. μ™œλƒν•˜λ©΄ ν”„λ‘œκ·Έλž¨μ΄λΌλŠ” 것은 생각을 μ–΄λ–»κ²Œ ν•˜λŠ”μ§€ κ°€λ₯΄μ³μ£ΌκΈ° λ•Œλ¬Έμ΄λ‹€.” - μŠ€ν‹°λΈŒ 작슀
    • ν•˜λ‚˜μ˜ κΈ°μˆ μ΄λ‚˜ ν•™λ¬ΈμœΌλ‘œμ„œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό λ°°μš°λŠ” 것이 μ•„λ‹ˆλΌ, 논리적 사고λ₯Ό ν›ˆλ ¨ν•˜κΈ° μœ„ν•΄ !
    • 이미 μΌμƒμƒν™œ 전체에 κΉŠμˆ™μ΄ μ‘΄μž¬ν•˜λŠ” 컴퓨터 ν”„λ‘œκ·Έλž¨μ˜ κΈ°λ³Έ μž‘λ™ 원리λ₯Ό μ΄ν•΄ν•˜κ³ , 그것을 우리의 삢에 맞게 μ‚¬μš©ν•˜κΈ° μœ„ν•¨.
    • 이λ₯Ό μš©ν•˜μ—¬ 각자의 삢을 쑰금 더 효율적으둜 μ‚΄κΈ° μœ„ν•΄ !

파이썬 μ†Œκ°œ

  • 파이썬의 λ“±μž₯
  •  

λ„€λœλž€λ“œ 개발자 귀도 반 λ‘œμ„¬

  • 귀도 반 λ‘œμ„¬μ΄ 1991년에 κ°œλ°œν•œ μ–Έμ–΄λ‘œ, μ²˜μŒμ—λŠ” C μ–Έμ–΄ 기반으둜 κ°œλ°œλ˜μ—ˆμœΌλ©° 이후 λ‹€μ–‘ν•œ κΈ°λŠ₯이 좔가됨

파이썬 ν”„λ‘œκ·Έλž˜λ°μ˜ 둜고

  • 제일 μ’‹μ•„ν–ˆλ˜ μ½”λ―Έλ”” ν”„λ‘œκ·Έλž¨μΈ ‘Monty Python’s Flying Circus’μ—μ„œ ‘Python’을 λ”°μ™”λ‹€κ³  함. νŒŒμ΄μ¬μ€ 그리슀 신화에 λ‚˜μ˜€λŠ” λ±€μ˜ 이름을 λ”°μ™”κΈ° λ•Œλ¬Έμ— 파이썬 ν”„λ‘œκ·Έλž˜λ°μ˜ 정식 λ‘œκ³ λŠ” λ±€ 두 λ§ˆλ¦¬κ°€ μ„œλ‘œ 똬리λ₯Ό νŠΌλ“―ν•œ ν˜•νƒœλ₯Ό μ§€λ‹˜γ…‹γ…‹
  • 파이썬의 νŠΉμ§•
  • 1. ν”Œλž«νΌ 독립적인 μ–Έμ–΄
    • ν”Œλž«νΌ(platform) = 운영체제(Operating System, OS)
    • μœˆλ„μš°, λ§₯, λ¦¬λˆ…μŠ€ 등이 속함.
    • ‘독립적’ = ‘κ΄€κ³„μ—†λŠ”’
    • → ν”Œλž«νΌ 독립 적인 μ–Έμ–΄ = μ–΄λ–€ μš΄μ˜μ²΄μ œλ“  상관없이 μ‚¬μš©ν•  수 μžˆλŠ” μ–Έμ–΄
  • 2. 인터프리터 μ–Έμ–΄
    • μ†ŒμŠ€μ½”λ“œκ°€ 컴퓨터에 μ˜ν•΄ ν•΄μ„λ˜λŠ” 과정은 λ‹€μŒκ³Ό κ°™λ‹€.
    • μ†ŒμŠ€μ½”λ“œλŠ” μ»΄ν“¨ν„°μ—μ„œ μ‹€ν–‰λ˜κΈ° μœ„ν•΄ 인터프리터 or μ»΄νŒŒμΌλŸ¬μ— μ˜ν•΄ ν•΄μ„λ˜κ³ , 이 ν•΄μ„λœ κ²°κ³Όκ°€ μš΄μ˜μ²΄μ œμ— 맞좰 κΈ°κ³„μ–΄λ‘œ λ³€ν™˜λ˜μ–΄ μ»΄ν“¨ν„°μ˜ ν•˜λ“œμ›¨μ–΄μΈ λ©”λͺ¨λ¦¬μ™€ CPU에 μ €μž₯λ˜μ–΄ 싀행됨.
    • 인터프리터(interpreter) : μ†ŒμŠ€μ½”λ“œμ˜ 해석을 μœ„ν•΄ μ‚¬μš©λ˜λŠ” ν”„λ‘œκ·Έλž¨μ˜ μ’…λ₯˜, 컴파일러(compiler) 언어와 달리 μ†ŒμŠ€μ½”λ“œ μžμ²΄κ°€ λ°”λ‘œ μ‹€ν–‰λ˜λŠ” νŠΉμ§•μ„ 가짐. λ”°λΌμ„œ μ†λ„λŠ” λŠλ¦¬μ§€λ§Œ μ‚¬μš©μ΄ κ°„νŽΈν•¨.

  • 3. 객체 지ν–₯ μ–Έμ–΄
    • object oriented language : 객체 지ν–₯ ν”„λ‘œκ·Έλž˜λ° ν™˜κ²½μ—μ„œ μ‚¬μš©λ˜λŠ” ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄
    • 일반적으둜 μ†ŒμŠ€μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•Œ μ‹€ν–‰ μˆœμ„œλŒ€λ‘œ ν•˜λ‚˜λΆ€ν„° μ—΄κΉŒμ§€ ν”„λ‘œκ·Έλž˜λ°ν•˜λŠ” ‘절차적 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄(procedure programming)’에 λ°˜ν•΄… ν•΄λ‹Ή ν”„λ‘œκ·Έλž¨μ— ν•΄κ²°ν•΄μ•Ό ν•  문제의 ꡬ성 μš”μ†Œλ₯Ό μš”μ†Œλ³„λ‘œ μ •μ˜ν•œ λ‹€μŒ 각 μš”μ†Œμ˜ κΈ°λŠ₯κ³Ό 정보λ₯Ό ν”„λ‘œκ·Έλž˜λ°ν•œ λ‹€μŒ, μš”μ†Œλ“€μ„ κ²°ν•©ν•˜λŠ” λ°©μ‹μœΌλ‘œ ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•¨.
    • κ°€μž₯ 큰 νŠΉμ§•μœΌλ‘œ, μž¬μ‚¬μš©μ„±(reusability)이 μžˆλ‹€.
  • 4. 동적 타이핑 μ–Έμ–΄
    • 파이썬이 λ‹€λ₯Έ 언어와 κ°€μž₯ 큰 차이λ₯Ό λ³΄μ΄λŠ” νŠΉμ§•
    • dynamic typing language : ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ μ‹œμ μ—μ„œ 각 ν”„λ‘œκ·Έλž¨ λ³€μˆ˜μ˜ νƒ€μž…μ„ κ²°μ •ν•˜λŠ” μ–Έμ–΄
    • 컴파일러 μ–Έμ–΄λŠ” μ†ŒμŠ€μ½”λ“œ μƒμ—μ„œ 각 λ³€μˆ˜μ˜ νƒ€μž…μ„ 미리 정해놓기 λ•Œλ¬Έμ— 컴파일 μ‹œμ μ— 컴퓨터에 λ©”λͺ¨λ¦¬ μ‚¬μš© 곡간이 μ •ν•΄μ§€λ―€λ‘œ 각 λ³€μˆ˜μ˜ νƒ€μž…μ΄ λ°˜λ“œμ‹œ 사전에 μ •μ˜λ˜μ–΄μ•Ό 함.
      νŒŒμ΄μ¬μ€ 인터프리터 μ–Έμ–΄μ΄λ―€λ‘œ ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ μ‹œμ μ— λ³€μˆ˜λ“€μ˜ λ©”λͺ¨λ¦¬ 곡간을 자유둭게 할당받을 수 있음. μ†λ„λŠ” λŠλ¦¬μ§€λ§Œ 자유둭게 λ©”λͺ¨λ¦¬ 곡간을 ν• λ‹Ήλ°›κ³  μ‚¬μš©ν•˜λŠ” 것이 κ°€λŠ₯함.
  • νŒŒμ΄μ¬μ„ λ°°μš°λŠ” 이유
  • 1. 쉽고 κ°„λ‹¨ν•œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄
    • 파이썬의 문법은 인간 지ν–₯적이기 λ•Œλ¬Έμ— μ½”λ“œ 이해가 쉬움!

화면에 Hello World! ν…μŠ€νŠΈλ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ˜ 파이썬, μžλ°” μ½”λ“œ

  • 2. λ‹€μ–‘ν•œ 라이브러리 제곡
    • λ‹€μ–‘ν•œ 라이브러리둜 ν™œμš©ν•  수 μžˆλŠ” λ²”μœ„κ°€ λ„“μŒ.
    • 인곡지λŠ₯μ΄λ‚˜ 데이터 뢄석 ν”„λ‘œμ νŠΈ, μ›Ή ν”„λ‘œκ·Έλž˜λ° 개발, μ„œλ²„ κ΄€λ¦¬μš© 슀크립트 μ–Έμ–΄ λ“± 맀우 λ‹€μ–‘ν•˜κ²Œ ν™œμš©λ˜κ³  있음.
    • 파이썬이 많이 ν™œμš©λ˜λŠ” μ΄μœ λŠ” μ–Έμ–΄ μžμ²΄λ„ μ‰½μ§€λ§Œ κ°œλ°œμžλ“€μ΄ λ§Œλ“€μ–΄ 놓은 λͺ¨λ“ˆκ³Ό νŒ¨ν‚€μ§€λ₯Ό μ‰½κ²Œ μ‚¬μš©ν•  수 있기 λ•Œλ¬Έμž„. ν˜„μž¬ 파이썬 κ΄€λ ¨ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” μ§€μ†μ μœΌλ‘œ λŠ˜μ–΄λ‚˜κ³  있음.
  • 3. λŒ€μ€‘μ μΈ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄

ν”„λ‘œκ·Έλž˜λ° 언어별 μ§ˆμ˜μ‘λ‹΅ λΉ„μœ¨ (좜처 : Stack Overflow)

파이썬 개발 ν™˜κ²½κ³Ό μ„€μΉ˜

https://toward-the-future.tistory.com/entry/Python-%ED%8C%8C%EC%9D%B4%EC%B0%B8Pycharm-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%95%84%EB%82%98%EC%BD%98%EB%8B%A4anaconda-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0

 

[Python] 파이참(Pycharm) μ„€μΉ˜ 및 μ•„λ‚˜μ½˜λ‹€(anaconda) κ°€μƒν™˜κ²½ μ—°λ™ν•˜κΈ°

Pycharm μ„€μΉ˜ 방법 www.jetbrains.com/pycharm/download/#section=windows μœ„μ˜ 링크둜 λ“€μ–΄κ°‘λ‹ˆλ‹€. Download PyCharm: Python IDE for Professional Developers by JetBrains Download the latest version of PyCharm for Windows, macOS or Linux. www.jetbra

toward-the-future.tistory.com

ν™”λ©΄ μž…μΆœλ ₯

  • input() ν•¨μˆ˜
    • μ½˜μ†” 창에 μ‚¬μš©μžκ°€ 데이터λ₯Ό μž…λ ₯ν•œ 값을 μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ μž…λ ₯λ°›λŠ” ν•¨μˆ˜
    • μœ„ μ½”λ“œ μ‹€ν–‰ κ²°κ³Όλ₯Ό 보면 μ•Œ 수 μžˆλ“―μ΄, input() ν•¨μˆ˜κ°€ μ‹€ν–‰λ˜λ©΄ μ½˜μ†” 창은 μ‚¬μš©μžκ°€ μž…λ ₯ν•  수 μžˆλ„λ‘ λŒ€κΈ° μƒνƒœκ°€ 됨.
print("Enter your name:")
somebody = input()   # μ½˜μ†” μ°½μ—μ„œ μž…λ ₯ν•œ 값을 somebody에 μ €μž₯
print("Hi", somebody, "How are you today?")
  • print() ν•¨μˆ˜
    • μš°λ¦¬λŠ” 이미 print( ) ν•¨μˆ˜λ₯Ό μ•Œκ³  μžˆμ„ 것이닀. print( ) ν•¨μˆ˜ μ•ˆ 콀마( , )에 λŒ€ν•΄ μ•Œμ•„λ³΄μž.
    • 콀마 μ‚¬μš© μ‹œ, ν•œ μΉΈ 띄고 μ—°κ²°λ˜μ–΄ 화면에 좜λ ₯됨.→ μ—¬λŸ¬ 값을 μ—°κ²°ν•˜μ—¬ 화면에 좜λ ₯ν•  수 μžˆλ‹€λŠ” 뜻!!
    • λΉ„μŠ·ν•œ λ°©λ²•μœΌλ‘œ, + 기호λ₯Ό μ‚¬μš©ν•˜μ—¬ μ—°κ²°ν•  μˆ˜λ„ 있음. + κΈ°ν˜ΈλŠ” μžλ£Œν˜•μ΄ λͺ¨λ‘ λ¬Έμžν˜•μ΄μ–΄μ•Ό ν•˜μ§€λ§Œ
    • μ½€λ§ˆλŠ” λ³€μˆ˜μ˜ μžλ£Œν˜•κ³Ό 관계없이 좜λ ₯ κ°€λŠ₯
print("Hello World!", "Hello Again!!")

μ‹€μŠ΅ : ν™”μ”¨μ˜¨λ„ λ³€ν™˜κΈ°

μ‹€μŠ΅ λ‚΄μš©

  • input( ) ν•¨μˆ˜, print( ) ν•¨μˆ˜, κ°„λ‹¨ν•œ 사칙연산을 μ΄μš©ν•˜μ—¬ ν™”μ”¨μ˜¨λ„ λ³€ν™˜κΈ° ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€μ–΄λ³΄μž.
  • ν™”μ”¨μ˜¨λ„ λ³€ν™˜κΈ° ν”„λ‘œκ·Έλž¨μ€ μ„­μ”¨μ˜¨λ„λ₯Ό ν™”μ”¨μ˜¨λ„λ‘œ λ³€ν™˜μ‹œμΌœ μ£ΌλŠ” κ°„λ‹¨ν•œ ν”„λ‘œκ·Έλž¨μ΄λ‹€.
  • μ„­μ”¨μ˜¨λ„λŠ” 물의 μ–΄λŠ” 점을 0도씨, λ“λŠ”μ μ„ 100λ„μ”¨λ‘œ ν•˜μ—¬ 이λ₯Ό κΈ°μ€€μœΌλ‘œ μ‚Όκ³ , κ·Έ 사이 간격을 100으둜 λ‚˜λˆˆ μ˜¨λ„λ₯Ό λ§ν•œλ‹€.
  • ν™”μ”¨μ˜¨λ„λŠ” 물의 μ–΄λŠ”μ μ„ 32도, λ“λŠ”μ μ„ 212λ„λ‘œ ν•˜μ—¬ 이λ₯Ό κΈ°μ€€μœΌλ‘œ κ·Έ 사이 간격을 180으둜 λ‚˜λˆˆ μ˜¨λ„λ₯Ό λ§ν•œλ‹€.
  • μ„­μ”¨μ˜¨λ„μ™€ ν™”μ”¨μ˜¨λ„μ˜ λ³€ν™˜ 곡식은 λ‹€μŒκ³Ό κ°™λ‹€.
  • 더보기
    ν™”μ”¨μ˜¨λ„ = (μ„­μ”¨μ˜¨λ„ * 1.8) + 32  

μ‹€ν–‰ κ²°κ³Ό

문제 ν•΄κ²°

print("λ³Έ ν”„λ‘œκ·Έλž¨μ€ μ„­μ”¨μ˜¨λ„λ₯Ό ν™”μ”¨μ˜¨λ„λ‘œ λ³€ν™˜ν•˜λŠ” ν”„λ‘œκ·Έλž¨μž…λ‹ˆλ‹€.")
print("λ³€ν™˜ν•˜κ³  싢은 μ„­μ”¨μ˜¨λ„λ₯Ό μž…λ ₯ν•˜μ„Έμš”.")

celsius = input()
fahrenheit = (float(celsius) * 1.8) + 32

print("μ„­μ”¨μ˜¨λ„:", celsius)
print("ν™”μ”¨μ˜¨λ„:", fahrenheit)