1. 程式人生 > >依次判斷一系列給定的字串是否為合法的 Python 識別符號

依次判斷一系列給定的字串是否為合法的 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)

結果展示: