Skip to content

Commit 55d8aa1

Browse files
committed
up
1 parent 906beb4 commit 55d8aa1

File tree

5 files changed

+158
-9
lines changed

5 files changed

+158
-9
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
# code-workout-python
1+
# code-workout-python
2+
## 실험중

intro.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# 42H: 파이썬
2+
3+
이 책은 **파이썬**<font size='2'>Python</font>을 활용하여 프로그래밍의 기초를 다지려는 분들을 위해 작성되었다. 프로그래밍을 처음 접하는 입문자부터, 파이썬의 핵심 개념을 다시 정리하고 싶은 분들까지 누구나 쉽게 따라 할 수 있도록 구성했다.
4+
5+
## 42H의 의미
6+
7+
이 책의 제목에 포함된 **'42'**는 프랑스에서 시작된 혁신적인 소프트웨어 교육 기관인 **[42](https://42.fr/en/homepage/)**에서 영감을 받았다.
8+
9+
'42'는 교사도, 교재도, 수업도 없는(No teachers, no books, no classes) 파격적인 교육 방식을 지향한다. 대신 **동료 학습**<font size='2'>Peer-to-peer learning</font>과 **프로젝트 기반 학습**<font size='2'>Project-based learning</font>을 통해 학생들이 스스로 문제를 해결하고 성장하도록 돕는다.
10+
11+
참고로 숫자 **42**는 더글러스 애덤스의 SF 소설 《은하수를 여행하는 히치하이커를 위한 안내서》에서 유래했다. 이 소설에서 슈퍼컴퓨터가 750만 년 동안 계산하여 내놓은 '삶, 우주, 그리고 모든 것에 대한 궁극적인 해답'이 바로 **42**였다.
12+
13+
많은 사람들이 이 숫자에 숨겨진 심오한 수학적, 철학적 의미를 찾으려 노력했지만, 정작 작가는 "그저 농담이었다"고 밝혔다. 그는 "평범하고 작고, 별다른 의미 없는 숫자"를 찾다가 42를 선택했다고 한다. 하지만 우리에게는 프로그래밍이 디지털 시대의 모든 문제를 해결할 수 있는 열쇠라는 의미로 해석될 수 있다.
14+
15+
이 책 또한 이러한 철학을 공유한다. 단순히 지식을 주입받는 것이 아니라, 스스로 코드를 작성하고 실행하며 부딪히는 문제들을 해결해 나가는 과정에서 진정한 프로그래밍 실력을 키울 수 있기를 바란다.
16+
17+
## 파이썬이란?
18+
19+
파이썬은 웹 애플리케이션 개발, 데이터 과학, 머신러닝 등 다양한 분야에서 널리 사용되는 대표적인 프로그래밍 언어다. 문법이 간결하고 배우기 쉬워 '생애 첫 프로그래밍 언어'로 가장 추천받는다. 다른 언어에 비해 적은 양의 코드로도 효율적인 프로그램을 작성할 수 있다는 점이 큰 매력이다.
20+
21+
## 실습 환경
22+
23+
파이썬 프로그래밍을 시작하기 위해 복잡한 소프트웨어를 설치할 필요는 없다. 인터넷만 연결되어 있다면 언제 어디서든 코드를 작성하고 실행해 볼 수 있는 다양한 클라우드 환경을 활용해 보자.
24+
25+
* **구글 코랩**<font size='2'>Google Colab</font>: 구글 계정만 있으면 브라우저에서 바로 파이썬 코드를 작성하고 실행할 수 있다. 데이터 분석과 머신러닝에 최적화되어 있다.
26+
* **깃허브 코드스페이스**<font size='2'>GitHub Codespaces</font>: 깃허브 저장소와 연동하여 실제 개발 환경과 유사한 경험을 제공한다.
27+
* **캐글**<font size='2'>Kaggle</font>: 데이터 사이언스 경진대회 플랫폼으로, 강력한 파이썬 노트북 환경을 무료로 제공한다.
28+
29+
물론, 자신의 컴퓨터에 파이썬을 직접 설치하여 개발할 수도 있다. 이 책에서는 다양한 환경에서 파이썬을 즐기는 방법을 안내한다.
30+
31+
## 이 책의 구성
32+
33+
이 책은 프로그래밍의 기본 개념부터 시작하여 파이썬의 고급 기능까지 단계별로 학습할 수 있도록 구성되어 있다.
34+
35+
1. **기초 문법**: 변수, 자료형, 연산자 등 파이썬의 기초를 다진다.
36+
2. **제어문과 함수**: 조건문, 반복문을 통해 프로그램의 흐름을 제어하고, 함수를 사용하여 코드를 구조화하는 방법을 배운다.
37+
3. **자료구조**: 리스트, 튜플, 딕셔너리 등 데이터를 효율적으로 관리하는 방법을 익힌다.
38+
4. **객체지향 프로그래밍**: 클래스와 객체, 상속 등 객체지향의 핵심 개념을 이해한다.
39+
5. **심화 주제**: 재귀, 예외 처리, 모듈 등 더 깊이 있는 주제를 다룬다.
40+
41+
자, 이제 파이썬의 세계로 함께 떠나보자.

jupyter-book/programming_v2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 컴퓨터 프로그래밍
1+
# 컴퓨터 프로그래밍 2
22

33
**컴퓨터와 대화할 준비 되셨나요?**
44

myst.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
version: 1
33
project:
44
id: bfa66ee1-fd85-4563-8fb7-04c22ec8dbd3
5-
title: null
6-
subtitle: "파이썬"
5+
title: '42H: 파이썬'
6+
numbering:
7+
title: false
8+
headings: true
79
# description:
810
# keywords: []
911
# authors: []
1012
github: https://github.com/codingalzi/code-workout-python
1113
# To autogenerate a Table of Contents, run "jupyter book init --write-toc"
1214
toc:
13-
- file: jupyter-book/intro.md
14-
- file: jupyter-book/programming.ipynb
15-
- file: jupyter-book/programming_v2.md
16-
- file: jupyter-book/starting.ipynb
17-
- file: jupyter-book/values.ipynb
15+
- file: intro.md
16+
- file: programming.md
17+
- file: README.md
1818

1919
site:
2020
template: book-theme

programming.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# 파이썬 프로그래밍
2+
3+
**컴퓨터와의 대화**
4+
5+
외국인과 대화하려면 그 나라 말을 배워야 하듯, 컴퓨터에게 일을 시키려면 컴퓨터가 알아듣는 말을 배워야 한다. 그것이 바로 **프로그래밍 언어**다. 그중에서도 가장 배우기 쉽고 강력한 언어인 **파이썬(Python)****알아보자.**
6+
7+
## 컴퓨터와 프로그램
8+
9+
컴퓨터는 PC, 노트북, 스마트폰 등 우리 주변의 다양한 전자기기를 말한다. 이 기계들은 혼자서는 아무것도 할 수 없는 '깡통'과 같다. 이 기계에 생명을 불어넣어 주는 것이 바로 **운영체제**<strong>(OS)</strong>와 **소프트웨어**다.
10+
11+
- **운영체제(OS)**: 윈도우(Windows), 맥(macOS), 안드로이드, iOS처럼 컴퓨터의 하드웨어를 관리하고 기본적으로 작동하게 만드는 시스템이다.
12+
- **애플리케이션(App)**: 흔히 '앱'이라고 부르는 것으로, 카카오톡, 유튜브, 엑셀처럼 특정한 목적을 위해 만들어진 프로그램이다.
13+
14+
### 용어 정리
15+
16+
개발자들이 흔히 혼용하는 용어들을 **정리해 보자.**
17+
18+
| 용어 | 설명 |
19+
| :--- | :--- |
20+
| **소프트웨어** (Software) | 컴퓨터를 움직이는 모든 프로그램의 총칭 |
21+
| **프로그램** (Program) | 특정 작업을 수행하는 명령어들의 집합 |
22+
| **소스 코드** (Source Code) | 프로그래밍 언어로 작성된 실제 텍스트 파일 |
23+
| **코딩** (Coding) | 코드를 작성하는 행위 |
24+
25+
## 왜 파이썬인가?
26+
27+
세상에는 C, 자바(Java), 자바스크립트(JavaScript) 등 수많은 프로그래밍 언어가 있다. 그중 전 세계적으로 파이썬이 인기를 끄는 이유를 **살펴보자.**
28+
29+
### 첫째, 사람의 언어와 닮았다.
30+
파이썬은 문법이 매우 직관적이고 간결하다. 마치 영어 문장을 읽는 것처럼 코드를 읽을 수 있어 초보자가 배우기에 가장 적합하다.
31+
32+
**코드 비교 (화면에 "Hello"를 출력하는 코드)**
33+
34+
* **C 언어**: 준비 과정이 필요하고 코드가 길다.
35+
```c
36+
#include <stdio.h>
37+
38+
int main() {
39+
printf("Hello\n");
40+
return 0;
41+
}
42+
```
43+
44+
* **자바(Java)**: 다소 복잡하고 길다.
45+
```java
46+
public class Main {
47+
public static void main(String[] args) {
48+
System.out.println("Hello");
49+
}
50+
}
51+
```
52+
53+
* **파이썬(Python)**: 한 줄이면 충분하다.
54+
```python
55+
print("Hello")
56+
```
57+
58+
### 둘째, 활용 범위가 넓다.
59+
파이썬은 '만능 언어'라고 불린다.
60+
- **데이터 분석 & 인공지능(AI)**:GPT, 알파고 같은 AI는 대부분 파이썬으로 만들어진다.
61+
- **웹 사이트 개발**: 인스타그램, 유튜브 같은 서비스도 파이썬을 많이 사용한다.
62+
- **업무 자동화**: 엑셀 파일 정리, 이메일 자동 발송 등 반복 업무를 파이썬으로 자동화할 수 있다.
63+
64+
### 셋째, 강력한 도구(라이브러리)가 많다.
65+
전 세계의 수많은 개발자가 만들어 놓은 유용한 도구(라이브러리)들이 풍부하다. 이 도구들을 활용하면 훌륭한 프로그램을 손쉽게 만들 수 있다.
66+
67+
## 파이썬의 실행 방식
68+
69+
파이썬은 **인터프리터(Interpreter)** 언어다. 우리가 작성한 코드를 한 줄씩 번역하여 컴퓨터에게 전달하는 방식이다.
70+
71+
* **컴파일러(Compiler) 언어**: C나 자바처럼 소스 코드 전체를 기계어로 미리 번역한 후 실행한다. 책 한 권을 모두 번역한 뒤에 읽는 것과 비슷하다. 실행 속도는 빠르지만 수정 후 다시 번역하는 과정이 필요하다.
72+
* **인터프리터(Interpreter) 언어**: 파이썬처럼 코드를 한 줄씩 읽어가며 즉시 실행한다. 통역사가 옆에서 한 문장씩 통역해 주는 것과 비슷하다. 코드를 수정하고 바로 결과를 확인할 수 있어 학습과 개발 속도가 빠르다.
73+
74+
## 파이썬 맛보기
75+
76+
파이썬 코드가 얼마나 직관적인지 **확인해 보자.** 아래 코드는 비밀번호를 맞추는 간단한 프로그램이다.
77+
78+
```python
79+
secret = 13 # 비밀 숫자
80+
guess = 17 # 내가 추측한 숫자
81+
82+
if guess == secret: # 만약 추측한 숫자가 비밀 숫자와 같다면
83+
print("맞았습니다!") # "맞았습니다!" 출력
84+
else: # 그렇지 않다면
85+
print("틀렸습니다!") # "틀렸습니다!" 출력
86+
```
87+
88+
프로그래밍을 전혀 모르는 사람도 대략적인 의미를 짐작할 수 있다. 이것이 바로 파이썬의 장점이다.
89+
90+
## 파이썬의 인기
91+
92+
개발자 커뮤니티에서 파이썬의 인기는 압도적이다. 프로그래밍 언어 순위를 매기는 [TIOBE 인덱스](https://www.tiobe.com/tiobe-index)에서 파이썬은 수년째 1위를 지키고 있다.
93+
94+
<div align="center">
95+
<img src="https://raw.githubusercontent.com/codingalzi/42H/master/jupyter-book/images/tiobe-index.jpg" style="width:750px" alt="TIOBE Index">
96+
<p><em>파이썬은 전 세계에서 가장 사랑받는 언어다.</em></p>
97+
</div>
98+
99+
## 프로그래밍 학습 조언
100+
101+
프로그래밍을 처음 배우는 분들을 위해 몇 가지 조언을 덧붙인다.
102+
103+
1. **암기하지 말자**: 문법을 영어 단어 외우듯 암기할 필요는 없다. 자주 사용하다 보면 자연스럽게 익숙해진다. 중요한 것은 '어떻게 해결할까'를 고민하는 논리적 사고력이다.
104+
2. **직접 입력하자**: 눈으로만 보는 코드는 내 것이 되지 않는다. 직접 키보드를 두드리고, 오타를 내고, 에러를 고치는 과정에서 실력이 성장한다.
105+
3. **검색을 두려워하지 말자**: 모든 개발자는 검색을 한다. 모르는 내용이 나오면 구글이나 AI에게 물어보는 것을 주저하지 말자.
106+
107+
이제 파이썬의 세계로 떠날 준비가 되었다. 다음 장부터 본격적으로 **시작해 보자.**

0 commit comments

Comments
 (0)