如何解决 VS 中的 "variable is not accessed" 错误? -python-

How to solve "variable is not accessed" error in VS? -python-

这是我的 python 代码,正如您所看到的,我试图定义并提供一些值的变量 choics 在 VS 中一直显示错误“未访问 Pylance”,

错误在这一行:choice = tracker.get_slot("customer_choice")

这是代码:

from typing import Any, Text, Dict, List


from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher



class ActionConfirmOrder(Action):

    def name(self) -> Text:
        return "action_confirm_order"

    cus_choice = "pizza"

    def run(self, dispatcher: CollectingDispatcher,
            tracker: Tracker,
            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

        choice = tracker.get_slot("customer_choice")
        dispatcher.utter_message(text="Your order is {choice}\n it will be ready within 10min")
        

        return []

我在 actions.py 演示文件中使用文件 actions.py 中的代码,以防您对 RASA

所以如果有人知道问题出在哪里并且可以帮助我。谢谢

这是一个标准的 linter 错误,让您知道您已经声明了一个变量但没有使用它 -- 有时它表示您的代码中有拼写错误,或者是清理无用代码的机会。

如果您看到此错误并且您认为正在使用该变量,请非常仔细地查看您所在的代码行重新使用它,您可能会发现有关作用域的细微问题,或者变量名称中的拼写错误,或类似的问题。

在这种情况下,拼写错误是您的 f-string 缺少 f

dispatcher.utter_message(text="Your order is {choice}\n it will be ready within 10min")

text="Your order is {choice}..." 更改为 text=f"Your order is {choice}...",以便 choice 用于生成字符串。如果字符串前没有 f{choice} 将按字面意思呈现 "{choice}",并且您的 choice 值不会用于任何用途。