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

 

 

结果展示:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值