Akashic Records

파이썬의 철학 (The Zen of Python) 본문

Python for Beginners

파이썬의 철학 (The Zen of Python)

Andrew's Akashic Records 2024. 5. 23. 16:35
728x90

 

"The Zen of Python"은 Python의 설계 철학을 간결하게 요약한 시입니다. Tim Peters에 의해 작성되었으며, Python을 사용하거나 프로그래밍할 때 지향해야 할 가이드라인을 제공합니다. 이 철학은 Python의 아름다움, 명료성, 단순성을 강조합니다. 파이썬 사용자라면 누구나 한 번쯤 읽어보아야 할 내용이며, Python 인터프리터에서 import this라고 입력하면 볼 수 있습니다.

 

The Zen of Python 전문

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!


아름다움이 추함보다 낫다.
명시적인 것이 함축적인 것보다 낫다.
단순함이 복잡함보다 낫다.
복잡함이 난해함보다 낫다.
평평함이 중첩됨보다 낫다.
희소함이 밀집됨보다 낫다.
가독성은 중요하다.
특별한 경우라도 규칙을 깰 정도로 특별하지 않다.
비록 순수함에 비해 실용성이 우세하다 할지라도.
오류는 절대로 묵과되어서는 안 된다.
명시적으로 억제하지 않는 이상.
모호함 앞에서는 추측의 유혹을 거절하라.
이렇게 하는 하나의 — 가급적 하나의 — 분명한 방법이 있어야 한다.
비록 처음에는 그 방법이 분명하지 않을지라도, 당신이 네덜란드인이 아니라면.
지금 하는 것이 절대 안 하는 것보다 낫다.
비록 절대 안 하는 것이 지금 당장 하는 것보다 나을 때가 많더라도.
구현을 설명하기 어렵다면 그것은 나쁜 아이디어다.
구현을 설명하기 쉽다면 그것은 좋은 아이디어일 수 있다.
네임스페이스는 정말 좋은 생각이다 — 그러니 더 많이 사용하자!

 

주요 포인트

  1. 명료함: 코드는 명확하고 이해하기 쉬워야 합니다. "Explicit is better than implicit" (명시적인 것이 함축적인 것보다 낫다)는 원칙은 코드를 읽는 사람이 코드의 동작을 쉽게 예측할 수 있도록 합니다.
  2. 간결성: 간단하고 직관적인 솔루션이 복잡한 솔루션보다 바람직하다는 것을 강조합니다. "Simple is better than complex" (단순한 것이 복잡한 것보다 낫다).
  3. 가독성: "Readability counts" (가독성이 중요하다)는 코드가 다른 사람에 의해 읽힐 것이라는 점을 강조하며, 이는 코드를 더욱 유지보수하기 쉽게 만듭니다.
  4. 실용성: Python은 순수성보다는 실용성을 더 중요시합니다. 때로는 완벽한 해결책보다는 실제 작동하는 해결책을 선택하는 것이 더 나을 수 있습니다.
  5. 오류 처리: "Errors should never pass silently" (오류는 절대 조용히 지나가서는 안 된다)는 명확한 오류 처리를 강조합니다. 오류는 적절히 처리되거나 명확하게 기록되어야 합니다.
  6. 단일성과 명확성: 일반적으로 하나의, 가장 명확한 해결 방법이 존재합니다. 이것은 Python 사용자가 코드를 작성할 때 고려해야 할 중요한 원칙입니다.

이 철학은 파이썬 커뮤니티 전반에 걸쳐 매우 중요하게 여겨지며, Python 코드를 작성할 때 항상 염두에 두어야 할 가이드라인입니다.

728x90
Comments