我正在尝试创建一个重新加载全球银行的函数:
import json
type Bank = dict[str, dict[str: int | float]]
def get_ball() -> None:
"""
_summary_
Reloads the bank dict from the bank.json file
"""
global bank
with open("bank.json", "r") as f:
bank: Bank = json.load(f) # Error
# bank = json.load(f) # Works fine
print(bank)
get_ball()
print(bank)
但它引发了一个语法错误:带注释的名称“bank”不能是全局的
当它没有指定类型时,它可以正常工作(请参阅注释掉的行)。我必须做什么?
您声明了银行类型,但没有声明变量。因为它不存在,所以您无法将其作为全局变量访问。您可以删除全局标签并将其用作该函数的局部变量并返回它。
或者,在开始时初始化您的银行变量,如下所示
bank = {}