DuckingRacoon
C++ 사용자 입장에서 알아야 할 Python 지식 본문
기본 문법을 제외하고 C++ 사용자가 Python을 시작할 때 알면 좋은 점을 정리하고자 한다.
1. 파이썬의 철학과 설계 관점
- 명시적 가독성: Explicit is better than implicit (Zen of Python)
C++처럼 오버로딩이나 템플릿 매직보다는, 코드의 의도가 한눈에 드러나는 방식 선호. - 동적 타이핑 + 강한 타입: 타입 선언은 필요 없지만, 타입 혼합 시 자동 변환(implicit cast)을 거의 하지 않음.
- 객체 지향 + 함수형 + 절차형 혼합 지원: 클래스 기반 설계뿐 아니라, 1급 객체인 함수를 이용한 고차 함수, 클로저, 람다 활용 가능.
2. 변수와 자료구조 활용
언패킹(Unpacking)
a, b, c = \[1, 2, 3\] # C++에서의 구조 분해(destructuring)와 유사`여러 값 교환
a, b = b, a # temp 변수 없이 교환`컬렉션 기반 루프
인덱스 기반이 아닌, 컬렉션(리스트, 딕셔너리 등)의 요소 자체를 직접 순회하는 반복문for idx, value in enumerate(my_list, start=1): print(idx, value)`딕셔너리 순회
for key, val in my_dict.items(): print(f"{key} -> {val}")`
3. 파이써닉한 조건문과 반복문
- Truthy/Falsy 값
빈 리스트, 빈 문자열, 0, None 등은 자동으로 False로 평가됨.if not my_list: # 비었는지 확인 print("Empty")`
4. 리스트/딕셔너리 컴프리헨션
컬렉션을 간결하게 생성·변환하는 구문.
리스트 컴프리헨션
squares = [x**2 for x in range(10) if x % 2 == 0]`딕셔너리 컴프리헨션
squared_map = {x: x**2 for x in range(5)}`
'Python' 카테고리의 다른 글
| enumerate() (0) | 2025.08.14 |
|---|---|
| all(...) (1) | 2025.08.14 |
| zip() (0) | 2025.08.14 |
| 언패킹 연산자 * (2) | 2025.08.14 |
| Python의 메모리 모델과 참조 (1) | 2025.08.14 |