십대를 위한 코딩/십대를 위한 파이썬

키워드와 예약어

forSilver 2025. 2. 3. 11:19
반응형

키워드(Keyword)와 예약어(Reserved Word)의 차이


키워드(Keyword)와 예약어(Reserved Word)는 비슷한 개념이지만, 엄밀히 구분하면 다음과 같습니다.

1. 키워드(Keyword)


프로그래밍 언어에서 특별한 의미를 가지는 단어로, 특정 기능을 수행하는 데 사용됨.

사용자가 식별자로 사용할 수 없음.

예: if, for, while, def, return 등.


2. 예약어(Reserved Word)


언어 내부적으로 미리 예약된 단어로, 현재 사용되지 않더라도 미래에 사용될 가능성이 있는 단어도 포함됨.

일부 언어에서는 모든 키워드는 예약어이지만, 일부 예약어는 아직 키워드가 아닐 수도 있음.

파이썬에서는 "키워드 = 예약어"로 취급하며, 사용자가 변수명이나 함수명으로 사용할 수 없습니다.


파이썬 키워드 목록 확인


파이썬에서 사용 가능한 키워드는 keyword 모듈을 이용하여 확인할 수 있습니다.

import keyword

# 파이썬 키워드 목록 출력
print(keyword.kwlist)

# 키워드 개수 확인
print(len(keyword.kwlist))

실행하면 다음과 같은 결과가 나옵니다(버전에 따라 다를 수 있음):

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda',
'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with',
'yield']

총 35개(버전에 따라 다를 수 있음)의 키워드가 있습니다.


키워드를 변수명으로 사용할 경우


class = 10  # SyntaxError: invalid syntax
def = "Hello"  # SyntaxError: invalid syntax

위와 같이 키워드를 식별자로 사용하면 SyntaxError가 발생합니다.


파이썬 키워드 예제


def my_function():
    if True:
        return "Hello, Python!"
    else:
        return "Bye!"

위 코드에서 def, if, return, else는 모두 키워드입니다.


정리


키워드 = 예약어(파이썬에서는 키워드와 예약어를 동일하게 취급)

키워드는 변수명, 함수명으로 사용할 수 없음

keyword.kwlist를 사용하면 키워드 목록을 확인할 수 있음

새로운 버전이 나올 때마다 키워드가 추가될 수 있음