未访问变量 Pylance

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

Python 3.12.5:

my_list: list[str] = ["MFI BL {num}" for num in range(1, 15)]

可以清楚地访问

num
变量,但我收到一条警告,提示
"num" is not accessed Pylance

为什么我会收到此警告: enter image description here

我正在使用 VS Code。我在 PyCharm 上没有警告。

打印

my_list
不会改变任何东西(确保
my_list
最终被使用):

my_list: list[str] = ["MFI BL {num}" for num in range(1, 15)]
print(my_list)
pylance
1个回答
2
投票

num
被指定为列表理解列表的一部分,但从未使用过。如果将
num
替换为下划线 (
_
),您将获得完全相同的输出,因此警告似乎是正确的:

my_list: list[str] = ["MFI BL {num}" for _ in range(1, 15)]
# Here ----------------------------------^

看起来您打算使用 f 字符串,在这种情况下,将评估

{num}
占位符,并且警告将得到解决:

my_list: list[str] = [f"MFI BL {num}" for num in range(1, 15)]
# Here ---------------^
© www.soinside.com 2019 - 2024. All rights reserved.