본문 바로가기
Development/Python

[Python] 파이썬 예약어 확인하기

by 선인장 🌵 2022. 4. 25.
728x90
728x90

파이썬 예약어 확인하기

파이썬에서 변수명, 함수명, 클래스명 등을 작성할 때 여러 규칙이 있지만 그중 이미 정해진 예약어는 사용할 수 없다. 

그럼 파이썬에서 식별자(변수명, 함수명, 클래스명 등)로 사용할 수 없는 예약어에 대해서 알아보도록 하자. 

[Python] 파이썬 예약어 확인하기

728x90

1. 파이썬 예약어 란?

파이썬에서 예약어(Reserved Keyword)란 변수명, 함수명, 클래스명 등으로 사용할 수 없이 미리 정해진 키워드를 말한다.

파이썬에 버전에 따라 예약어가 틀릴 수 있고 추후 버전 업데이트 시에도 추가가 될 수 있다. 

그로 인해서 버전에 따라 기존 식별자(변수명, 함수명, 클래스명 등)가 예약어로 설정된 경우 사용이 불가할 수도 있다.

2. 예약어 종류

현재 파이썬 3.9.7 버전에서 확인해보면 총 36개가 존재하고 있다. 

파이썬 버전에 따라서 예약어의 종류는 변경 될 수 있으며, 해당 내용은 3.9.7 버전을 기준으로 작성 하도록 하겠다.

36개의 예약어는 아래 표와 같으며, "False, None, True, __peg_parser__"를 제외하고는 모두 소문자로 되어 있다.

False None True __peg_parser__ 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
728x90

3. 예약어 확인하기

버전마다 예약어가 추가 / 삭제가 되면서 사용이 불가할 수 도 있는 경우를 대비해서 예약어를 확인하는 방법에 대해서 알아보자.

# Python 예약어 확인하기

Python 3.9.7 (default, Oct 13 2021, 06:44:56) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from keyword import kwlist
>>> print(kwlist)
['False', 'None', 'True', '__peg_parser__', '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']
>>> print(len(kwlist))
36
>>> type(kwlist)
<class 'list'>

3. 예약어 확인하기
3. 예약어 확인하기

 

간단하게 keyword 모듈의 kwlist를 통해서 쉽게 확인 할 수 있다. 

예약어를 print 문을 통해서 list 형식으로 출력하고 갯수도 세어 보았다. 

4. 예제 Code

이번에는 해당 내용을 이용하여 간단하게 확인을 할 수 있는 방법에 대해서 작성해 보았다.

# Python 예약어 확인하기

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import platform
from keyword import kwlist


def check_kwlist(word):
    if word in kwlist:
        return True
    return False


if __name__ == '__main__':
    word1 = 'def'
    word2 = 'defa'
    print('파이썬 버전은? : {version}'.format(version=platform.python_version()))
    print('"{word}"는 파이썬 예약어 인가요? : {check}'.format(word=word1, check=check_kwlist(word1)))
    print('"{word}"는 파이썬 예약어 인가요? : {check}'.format(word=word2, check=check_kwlist(word2)))
    
    
[OUTPUT]
파이썬 버전은? : 3.9.7
"def"는 파이썬 예약어 인가요? : True
"defa"는 파이썬 예약어 인가요? : False

4. 예제 Code
4. 예제 Code

간단하게 위에 나온 예제 파일은 Github에 올려 놓았다.

 

GitHub - happylie/python-example-code: Python Example Code

Python Example Code. Contribute to happylie/python-example-code development by creating an account on GitHub.

github.com

해당 내용을 따라 해 보면 금방 이해하고 익숙해질 것이다.

728x90
728x90


🌵댓글

 

loading