최근에 Python을 본격적으로 공부하기 시작했다. 개발을 한지는 꽤 됐지만, Python은 이상하게도 이제야 제대로 손을 대게 됐다. 다른 언어들을 사용해왔기 때문에 금방 익숙해질 줄 알았는데, 막상 공부를 시작하니 기존에 사용하던 언어와는 확실히 다른 점이 있어 시간이 걸렸다.
1. "가독성"이 핵심
가장 먼저 느낀 건 가독성을 정말 중요하게 여기는 언어라는 점이다.
들여쓰기로 코드 블록을 구분하는 건 처음에는 어색했는데, 쓰다 보니 이게 오히려 구조를 더 명확하게 보이게 해주는 것 같다.
중괄호가 없어서 단순해 보이기도 한다.
예를 들면 조건문도 이렇게 쓴다.
if x > 10:
print("x는 10보다 큽니다")
:와 들여쓰기로 흐름이 깔끔하게 표현된다.
2. 변수 선언이 자유롭다
타입을 명시하지 않아도 되고, 그냥 x = 10처럼 쓰면 된다.
처음엔 이게 좀 불안했다.
동적 타이핑 언어를 쓴 경험도 있었지만, 타입 안정성에 의존하는 스타일에 익숙해져 있어서 그런 것 같다.
하지만 Python은 그 자유로움을 활용하는 방식이 확실히 존재했다.
예를 들어,
name = "Alice"
count = 5
is_valid = True
변수 타입을 신경 쓰지 않아도 일단 코드가 자연스럽게 읽힌다. 물론 큰 프로젝트에서는 타입 힌트를 쓰는 식으로 보완할 수도 있다고 한다.
3. 문법이 깔끔하다
기본 문법 자체가 정말 단순하다. 복잡한 문법 요소가 없고, 오히려 너무 간결해서 약간 허전하게 느껴질 때도 있었다.
대신 읽고 쓰기 쉬운 코드가 된다는 점에선 꽤 강력한 장점이다.
반복문 예시:
for i in range(5):
print(i)
range() 덕분에 반복 횟수 제어가 편하고, 컬렉션 순회도 깔끔하게 된다.
4. 함수 정의도 간단하다
def greet(name):
return f"Hello, {name}!"
위는 f-string 문법을 활용했다.
문자열 포매팅이 간결하면서도 직관적이다.
하지만, f-string은 파이썬 3.6 버전부터 추가된 기능이다.
5. Python은 철학이 있는 언어다
재밌으면서 독특한 점은 import this 명령어를 치면 Python의 철학이 출력된다는 거다.
import this;
- 출력된 결과물
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!
그중에서도 마음에 들었던 문장은
"Simple is better than complex."
"Readability counts."
이다.
뭔가 Python이라는 언어가 단순한 문법 너머로 지향하는 방향성이 있다는 느낌을 받았다.
6. 활용 분야가 넓다
Python을 배우는 사람마다 진입 계기가 다르다고 들었다.
머신러닝, 데이터 분석, 웹, GUI까지 거의 못 하는 게 없다는 걸 알게 됐다.
"범용 언어"라는 말이 진짜 실감났다.
아직 Python의 얕은 물가에서 발 담근 정도지만, 확실히 매력 있는 언어라는 느낌은 받았다.
문법을 익히는 데 큰 어려움은 없었지만, 오히려 Python스럽게 작성하는 방식을 배우는 게 더 중요한 것 같다.
앞으로 프로젝트를 통해 조금씩 스타일을 잡아가면서 익숙해져야 할 것 같다.
'PYTHON' 카테고리의 다른 글
Python 3 문법 요약 (0) | 2025.04.12 |
---|