Python3.7判断标识符的合法性

1.Python中的标识符必须满足

  • 首个字符以字母或下划线开头
  • 后面的字符可以是字母、下划线或者数字

2.导入的模块:import string
需要用到模块string中如下函数:

  • string.ascii_letters
 >>>string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
  • string.digits
>>> string.digits
'0123456789'

3.程序

# 标识符检查:首先以字母或下划线开头,后面跟字母、下划线或者数字
import string

alphas = string.ascii_letters + '_'
nums = string.digits
allchar = alphas + nums
Flag = 0 #设个标志位
myInput = input('Identifier to test?')
if len(myInput) > 1: #要求输入的标识符长度至少为2
    if myInput[0] in alphas :
        for others in myInput[1:]:#遍历剩下的字符
            if others in allchar :
                Flag = 1
            else:
                Flag = 0
                break
        if Flag == 1:
            print('输入的是合法标识符')
        else:
            print('输入的是非法标识符')
    else:
       print('输入的是非法标识符') 
else:
    print('输入的是非法标识符')

4.缺点

  • 输入的表示标识符的长度必须大于1。
  • 没有考虑到Python的关键字,这些关键字是不允许做标识符的。如数据类型中的int。
  • 从性能的角度考虑,上面的循环操作把大把时间都浪费到了重复计算字符串的长度上。

    上述缺点留给机智的你们来完善咯~

你可能感兴趣的:(Python基础)