관리 메뉴

DuckingRacoon

C++ 사용자 입장에서 알아야 할 Python 지식 본문

Python

C++ 사용자 입장에서 알아야 할 Python 지식

따킹라쿤

기본 문법을 제외하고 C++ 사용자가 Python을 시작할 때 알면 좋은 점을 정리하고자 한다.

1. 파이썬의 철학과 설계 관점

  • 명시적 가독성: Explicit is better than implicit (Zen of Python)
    C++처럼 오버로딩이나 템플릿 매직보다는, 코드의 의도가 한눈에 드러나는 방식 선호.
  • 동적 타이핑 + 강한 타입: 타입 선언은 필요 없지만, 타입 혼합 시 자동 변환(implicit cast)을 거의 하지 않음.
  • 객체 지향 + 함수형 + 절차형 혼합 지원: 클래스 기반 설계뿐 아니라, 1급 객체인 함수를 이용한 고차 함수, 클로저, 람다 활용 가능.

2. 변수와 자료구조 활용

  1. 언패킹(Unpacking)

    a, b, c = \[1, 2, 3\] # C++에서의 구조 분해(destructuring)와 유사`
  2. 여러 값 교환

    a, b = b, a # temp 변수 없이 교환`
  3. 컬렉션 기반 루프
    인덱스 기반이 아닌, 컬렉션(리스트, 딕셔너리 등)의 요소 자체를 직접 순회하는 반복문

    for idx, value in enumerate(my_list, start=1): print(idx, value)`
  4. 딕셔너리 순회

    for key, val in my_dict.items(): print(f"{key} -> {val}")`

3. 파이써닉한 조건문과 반복문

  1. Truthy/Falsy 값
    빈 리스트, 빈 문자열, 0, None 등은 자동으로 False로 평가됨.
    if not my_list: # 비었는지 확인 print("Empty")`

4. 리스트/딕셔너리 컴프리헨션

컬렉션을 간결하게 생성·변환하는 구문.

  1. 리스트 컴프리헨션

    squares = [x**2 for x in range(10) if x % 2 == 0]`
  2. 딕셔너리 컴프리헨션

    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