-
ZEN OF PYTHON프로그래밍/Python 2020. 6. 19. 20:48반응형
우연히 '파이썬의 도'라는 모듈을 찾았다.
파이썬언어에 크게 기여한 Tim Peters가 직접 쓴 것이었다.
기본 모듈로 내장되어있었다.
import this 를 실행하면 docstring의 내용이 나오게 된다.
The Zen of Python, by Tim Peters
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!정말 감동적(?)이었다.
파이썬을 사용하는데 염두할만한 내용들이었고 상당히 공감할 수 있었다.
앞으로 이 문장을 파이썬으로 만든 프로그램에서 출력하고자 하였고, help()를 통해 안에 무엇이 들어있는지 보았다.
이 모듈안에는 총 4개의 DATA가 있었다.
NAME
this
DATA
c = 97
d = {'A': 'N', 'B': 'O', 'C': 'P', 'D': 'Q', 'E': 'R', 'F': 'S', 'G': ...
i = 25s = "Gur Mra bs Clguba, ol Gvz Crgref\n\nOrnhgvshy vf o...bar ubaxvat ...
그리고 this.d의 타입은 예상했듯 dictionary이었고 해당 내용은 rot13 치환암호의 내용이었다.
딕셔너리안의 내용으로 전치하면 되었고,
함수로 만들어보았다.
import this def zen(): final = '' for l in this.s: try : final += this.d[l] except : final += l print(final)
간단하게 완성되었다.
정말 코드를 짜고싶으나 시간이 없는 코더로서, 이번 코딩은 다 마신 물병과 함께 걸어가던 사막에서 발견한 500ml 생수와 같았다. 아직도 고프다.
그래도 앞으로 이 "파이썬의 도"를 계속 볼 수 있다는 사실에 행복하다. 항상 코드 앞뒤에 넣어야지.
빨리 프로젝트들 시작하고 싶다. 하고싶은 것들만 산더미다.
반응형'프로그래밍 > Python' 카테고리의 다른 글
파이썬: 복수 이미지(image)들을 모아 하나의 PDF로 변환하기(pillow(PIL)모듈) (0) 2020.11.25 파이썬 CGI (0) 2020.10.07 Python : 모스코드를 소리로 나타내기 (0) 2020.09.06 PYTHON(파이썬) 리스트에서 특정 값의 모든 위치 찾기 (3) 2020.08.26 범위탐색 알고리즘(Range Algorithm, 구간탐색 알고리즘) (0) 2020.08.25