파이썬에서 콜론(:)은 어떤 역할을 할까?
파이썬에서 콜론(:) 기호는 한 가지 용도에 국한되지 않고 여러 상황에서 사용됩니다. 대표적으로 시퀀스 자료형의 슬라이싱(slicing)과 코드 블록의 시작을 알리는 문법 요소로 활용됩니다. 각각의 용도를 예제와 함께 살펴보겠습니다.
1. 시퀀스 자료형의 슬라이싱 연산자
콜론은 리스트(list), 튜플(tuple), 문자열(string)과 같은 시퀀스 객체의 일부를 잘라내는 슬라이싱 연산자로 사용됩니다. 슬라이싱은 두 개의 인덱스를 받는데, 첫 번째는 슬라이스의 시작 인덱스, 두 번째는 끝 인덱스(해당 위치는 포함되지 않음)입니다.
두 피연산자는 모두 선택 사항입니다. 첫 번째 값을 생략하면 기본값으로 0이 적용되며, 두 번째 값을 생략하면 시퀀스의 끝까지가 범위로 지정됩니다.
>>> a = [1, 2, 3, 4, 5]
>>> a[1:3]
[2, 3]
>>> a[:3]
[1, 2, 3]
>>> a[2:]
[3, 4, 5]
>>> s = 'computer'
>>> s[:3]
'com'
>>> s[3:6]
'put'
참고로 콜론을 이용한 슬라이싱은 세 번째 값인 증가폭(step)까지 지정할 수 있습니다. 예를 들어 a[::-1]처럼 작성하면 시퀀스 전체를 거꾸로 뒤집은 결과를 얻을 수 있어 실무에서도 자주 활용됩니다.
>>> a[::-1]
[5, 4, 3, 2, 1]
2. if, while, for, def, class의 코드 블록 시작
콜론은 조건문, 반복문, 함수 정의, 클래스 정의에서 그 아래에 오는 들여쓰기된 코드 블록(본문)이 시작됨을 나타내는 데에도 사용됩니다. 파이썬은 중괄호({}) 대신 콜론과 들여쓰기로 코드의 범위를 구분한다는 점이 특징입니다.
if expr:
stmt
while expr:
stmt1
stmt2
for x in sequence:
stmt1
stmt2
def function1():
stmt1
stmt2
3. 그 외의 콜론 활용 사례
이 외에도 콜론은 다양한 곳에서 사용됩니다. 딕셔너리(dictionary)에서는 키(key)와 값(value)을 구분하는 구분자 역할을 하며, 최신 파이썬에서는 변수나 함수 매개변수에 타입 힌트(type hint)를 붙일 때도 콜론이 사용됩니다.
d = {'name': 'Python', 'version': 3}
x: int = 10
def greet(name: str) -> str:
return f'Hello, {name}'정리
파이썬의 콜론(:)은 크게 세 가지 맥락에서 사용됩니다. 첫째, 시퀀스 객체를 잘라내는 슬라이싱 연산자(필요에 따라 증가폭까지 지정 가능), 둘째, if·while·for·def·class 문에서 코드 블록의 시작을 알리는 기호, 셋째, 딕셔너리의 키-값 구분 및 타입 힌트 표기입니다. 콜론의 용도를 정확히 이해하면 파이썬 코드를 읽고 작성하는 것이 훨씬 수월해집니다.