依次判斷一系列給定的字串是否為合法的 Python 識別符號
# -*- coding: utf-8 -*-
"""
Created on Wed Aug 1 11:08:45 2018
@author: 金曉
"""
#判斷是否為合法的Python識別符號
#識別符號:首字元必須是字母或下劃線,後面的字元只能是字母、數字、下劃線
#不能是關鍵字(可以用keyword模組,iskeyword判斷是不是關鍵字,kwlist所有的關鍵字列表)
import string
import keyword
def isIdentifier(s):
if s not in keyword.kwlist: #字串不能是關鍵字
if s[0] in (letter+'_'):#首字元必須是字母或者下劃線
for i in s[1:]:
if i not in (letter+digits+'_'):
return False
return True
return False
#param由輸入的字串組合而成,組成一個列表
param = []
#生成所有數字和字母的組合
letter = string.ascii_letters
digits = string.digits
while True:
s = input()
if s == '':
break
else:
param.append(s)
for s in param:
if isIdentifier(s):
print(True)
else:
print(False)
結果展示: