依次判断一系列给定的字符串是否为合法的 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)

 

 

结果展示:

依次判断一系列给定的字符串是否为合法的 Python 标识符