본문으로 바로가기

파이썬 예약어 알아보기

category Language/Python 2020. 6. 17. 09:20

예약어란 ?

문법의 규칙으로 사용하며 변수로 사용할 수 없다.

>>> if = 1
  File "<stdin>", line 1
    if = 1
       ^
SyntaxError: invalid syntax

 

Python2.7의 예약어

import sys
import keyword

print(sys.version_info)
print(len(keyword.kwlist))
print(keyword.kwlist)
더보기
serial=0)sys.version_info(major=2, minor=7, micro=18, releaselevel='final', serial=0)  
31  
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

 

Python3.6과 Python2.7의 비교

3.6에 4개의 예약어가 더 추가된 것을 확인할 수 있다.

import sys
import keyword
import re

kwlist27 = '''
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
'''
p = re.compile(r'\'(\w*)\'')
kwlist27 = re.findall(p, kwlist27)

kwlist36 = keyword.kwlist

print(sys.version_info)
print(len(kwlist36))
print(set(kwlist36) - set(kwlist27))
더보기
sys.version_info(major=3, minor=6, micro=10, releaselevel='final', serial=0) 
33 
{'None', 'True', 'nonlocal', 'False'}