You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python标准库中是否存在表示合法标识符的标准类或类型?

检查Python合法标识符的标准库方案

Python标准库里确实有现成工具能搞定这个需求,不用自己从头实现:

  • 字符串内置方法 str.isidentifier()
    从Python 3开始,所有字符串都自带这个方法,直接就能判断字符串是否符合Python标识符的语法规则。举几个例子:

    >>> "spam".isidentifier()
    True
    >>> "5+a.@))".isidentifier()
    False
    >>> "_my_var123".isidentifier()
    True
    
  • keyword模块的iskeyword()函数
    光靠isidentifier()还不够——有些字符串格式合法,但本身是Python的关键字(比如def、class、if),这些也不能作为变量名。可以用标准库的keyword模块来排查这类情况:

    >>> import keyword
    >>> keyword.iskeyword("def")
    True
    >>> keyword.iskeyword("spam")
    False
    

如果要判断一个字符串能不能当合法的Python标识符,完整的判断逻辑可以这么写:

import keyword

def is_valid_identifier(s):
    return not keyword.iskeyword(s) and s.isidentifier()

另外,标准库里并没有专门对应“合法标识符”的类,但通过上面两个工具完全能满足你强制标识符规则的需求,不管是写宏代码还是解析Python文本都够用。

内容的提问来源于stack exchange,提问作者leftaroundabout

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 16:33:23