如何在 Python 中强制使用仅 ASCII 标识符,同时允许 UTF-8 字符串?

问题描述 投票:0回答:1

我想配置 Python,以便在标识符(例如变量名、函数名)中遇到非 ASCII 字符时引发错误,但仍接受 UTF-8 编码的字符串(例如“Привет, мир!”)。例如:

# This should raise an error
def тест(): 
    pass

# This should work
text = "Привет, мир!"

我了解

# -*- coding: ascii -*-
,但它会阻止源代码中各处的非 ASCII 字符,包括字符串文字中的字符。

(对于 jupyter 笔记本也是同样的问题)

python utf-8 ascii
1个回答
1
投票

使用静态代码分析。 Pylint 将报告其默认配置中的问题:

foo.py:2:0: C2401: Function name "тест" contains a non-ASCII character, consider renaming it. (non-ascii-name)

将您的 VCS 配置为运行 pylint 并仅接受提交而不发出警告;或者至少没有 C2401

© www.soinside.com 2019 - 2024. All rights reserved.