|
1 | | -# **About the Study** |
| 1 | +# **Pythonic Python 스터디** |
2 | 2 |
|
3 | | -## Pythonic Code란? |
4 | | -Python의 고유한 메커니즘을 따른 코드를 Pythonic하다고 한다. |
| 3 | +## **Pythonic Python 스터디 일정** |
5 | 4 |
|
6 | | -Pythonic 코드는 Python 언어의 철학과 관용적 표현(idiomatic expression)을 따르는 코드를 의미한다. 이는 Python이 제공하는 내장 함수와 자료구조를 최대한 활용하며, 간결하고 명확한 방식으로 문제를 해결하는 것을 목표로 한다. |
| 5 | +이 스터디에서는 Python의 철학을 따르고, Pythonic한 코드를 작성하는 방법을 배우기 위해 다양한 주제를 다룬다. 각 주제는 Python의 핵심 기능과 관용적 표현을 이해하고 활용하는 데 중점을 두고 있다. |
| 6 | + |
| 7 | +| 순서 | 주제 | 내용 | |
| 8 | +|------|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------| |
| 9 | +| 1 | **About the Study** | Pythonic 코드란 무엇인지, 왜 Pythonic 코드를 작성해야 하는지에 대해 설명하며, Python 언어의 철학과 관용적 표현을 다룬다. | |
| 10 | +| 2 | **Zen of Python** | Python의 철학을 정리한 문서로, Pythonic 코드 작성의 핵심 원칙과 Python 언어의 디자인 철학을 이해할 수 있도록 돕는다. | |
| 11 | +| 3 | **PEP 8** | Python의 공식 스타일 가이드로, Pythonic 코드를 작성하기 위한 표준 규칙들을 다룬다. 코드의 가독성, 일관성, 유지보수성을 향상시킨다. | |
| 12 | +| 4 | **내장 함수** | Python에서 제공하는 내장 함수들에 대해 다루며, 코드 작성 시 내장 함수를 어떻게 효율적으로 활용할 수 있는지 설명한다. | |
| 13 | +| 5 | **표준 라이브러리** | Python 표준 라이브러리의 주요 모듈들과 기능을 소개하고, 다양한 내장 기능을 활용한 실용적인 코딩 방법을 학습한다. | |
| 14 | +| 6 | **파이썬 최신 버전 변경점** | 최신 Python 버전에서 추가된 기능, 변경된 문법, 개선된 성능 등을 다루어 최신 버전의 변경 사항을 반영한 코드 작성 방법을 배운다. | |
| 15 | + |
| 16 | + |
| 17 | +## **Pythonic 코드란?** |
| 18 | +Pythonic 코드란, Python 언어의 특성과 철학을 반영하여, Python의 내장 함수와 자료구조를 최적화된 방식으로 활용하고, 간결하며 명확하게 문제를 해결하는 코드를 의미합니다. Pythonic 코드는 Python만의 관용적 표현을 따르며, 가독성과 유지보수성을 높이는 데 중점을 둡니다. |
7 | 19 |
|
8 | 20 | **Example**: |
9 | 21 | ```python |
| 22 | +# Not-Pythonic 코드 |
10 | 23 | squared = [] |
11 | | -for x in range(1,10): |
| 24 | +for x in range(1, 10): |
12 | 25 | squared.append(x ** 2) |
13 | 26 | ``` |
14 | 27 |
|
15 | | -**Use Pythonic**: |
| 28 | +**Pythonic 코드**: |
16 | 29 | ```python |
17 | | -squared = [x ** 2 for x in range(1,10)] |
| 30 | +# Pythonic 코드 |
| 31 | +squared = [x ** 2 for x in range(1, 10)] |
18 | 32 | ``` |
19 | 33 |
|
| 34 | +--- |
| 35 | + |
| 36 | +## **왜 Pythonic 코드를 지켜야 할까요?** |
| 37 | + |
| 38 | +1. **협업의 용이성** |
| 39 | + Pythonic 코드는 Python 기반 오픈 소스 프로젝트에서 자주 사용되며, 다른 개발자들과의 협업을 용이하게 만듭니다. 코드 리뷰와 유지보수 작업도 원활해진다. |
| 40 | + |
| 41 | +2. **가독성 향상** |
| 42 | + Pythonic 코드 스타일은 코드를 간결하고 직관적으로 만들어, 읽기 쉽고 이해하기 쉽게 한다. |
20 | 43 |
|
21 | | -## Pythonic을 지켜야 하는 이유 |
22 | | -1. **Python 기반 Open Source의 표준** |
23 | | - Python 기반의 오픈 소스 프로젝트에서는 Pythonic 스타일을 따르는 경우가 많다. Pythonic 코드를 작성하면 다른 개발자들과의 협업이 수월해지고, 코드 리뷰와 유지보수가 쉬워진다. |
| 44 | +3. **Python의 장점 극대화** |
| 45 | + Python은 다양한 내장 함수와 강력한 표준 라이브러리를 제공한다. Pythonic 코드는 이러한 특성을 최대한 활용하여 더욱 효율적이고 직관적인 코드를 작성할 수 있게 한다. |
24 | 46 |
|
25 | | -2. **가독성과 유지보수성 향상** |
26 | | - Pythonic 코드는 Python의 관용적 표현을 사용하여 더 읽기 쉽고 이해하기 쉬운 코드를 작성하게 한다. 이는 코드 유지보수 비용을 줄이고, 개발자 간의 커뮤니케이션을 원활하게 한다. |
| 47 | +--- |
| 48 | + |
| 49 | +## **Clean Code와 Pythonic 코드의 차이점** |
| 50 | + |
| 51 | +**Pythonic ⊆ Clean Code** |
27 | 52 |
|
28 | | -3. **Python의 장점을 극대화** |
29 | | - Python은 다양한 내장 함수와 강력한 표준 라이브러리를 제공하고있다. Pythonic 코드는 이러한 언어적 특성을 적극 활용하여 더 효율적이고 직관적인 코드를 작성하게 한다. |
30 | 53 |
|
31 | | -## Clean Code와 Pythonic의 차이점 |
32 | 54 | - **Clean Code** |
33 | | - - 언어에 관계없이 일반적으로 적용되는 개발 원칙과 철학을 따른다. |
34 | | - - 코드의 가독성, 명확성, 간결성을 중시한다. |
35 | | - - 다양한 언어에서 일관된 원칙을 적용할 수 있다. |
| 55 | + - 언어에 관계없이 적용되는 개발 원칙과 철학을 따른다. |
| 56 | + - 코드의 가독성, 명확성, 간결성을 강조한다. |
| 57 | + - 여러 언어에서 일관되게 적용할 수 있다. |
| 58 | + |
| 59 | +- **Pythonic 코드** |
| 60 | + - Python 언어에 특화된 철학과 스타일을 따른다. |
| 61 | + - Python의 내장 함수와 자료구조를 활용하고, Python만의 관용적 표현을 사용한다. |
| 62 | + - Python 커뮤니티의 best practices를 반영한다. |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +## **Pythonic 코드 작성의 핵심** |
36 | 67 |
|
37 | | -- **Pythonic Code** |
38 | | - - Python 언어에 특화된 철학과 스타일을 따른다. |
39 | | - - Python이 제공하는 내장 함수와 자료구조를 활용하며, Python만의 관용적 표현을 사용한다. |
40 | | - - Python 커뮤니티의 best practice를 반영한다. |
| 68 | +- **Python의 철학을 이해하고 활용하기** |
| 69 | + Python의 철학을 이해하고 이를 코드에 반영하는 것이 중요하다. 이를 위해 **Zen of Python**을 학습하고, Python의 내장 기능을 최대한 활용한다. |
41 | 70 |
|
42 | | -## Pythonic 코드 작성의 핵심 |
43 | | -- Python이 제공하는 기능과 철학을 이해하고 이를 적극적으로 활용하자. (예: `Zen of Python`) |
44 | | -- Python 커뮤니티에서 권장하는 스타일 가이드를 따르자. (예: [PEP 8](https://peps.python.org/pep-0008/)) |
| 71 | +- **PEP 8 스타일 가이드 따르기** |
| 72 | + Python 커뮤니티에서 권장하는 스타일 가이드를 따르는 것이 좋은 코드를 작성하는 첫걸음이다. PEP 8은 Python 코드 작성의 표준 가이드라인이다. |
45 | 73 |
|
46 | | -## Pythonic Study의 목표 |
47 | | -Pythonic 코드를 작성함으로써 개발 생산성을 높이고, Python의 철학을 가장 잘 활용하는 코드를 작성할 수 있다. |
| 74 | +- **내장 함수와 표준 라이브러리 활용하기** |
| 75 | + Python은 강력한 내장 함수와 표준 라이브러리를 제공한다. 이를 적극적으로 활용하여 코드의 성능을 최적화하고, Python의 장점을 최대한 이끌어낸다. 예를 들어, 반복문에서 리스트 컴프리헨션을 사용하거나, `itertools`, `functools`와 같은 라이브러리를 활용해 성능을 개선할 수 있다. |
0 commit comments