首页 > 解决方案 > 变量作为python数组键但没有初始化或声明

问题描述

关于

在我在这个网站上看到的 python 代码中

https://amaral.northwestern.edu/blog/function-wrapper-and-python-decorator

编码

def my_add(m1, p1=0):
  output_dict = {}
  output_dict['r1'] = m1+p1
  return output_dic

def my_deduct(m1, p1=0):
  output_dict = {}
  output_dict['r1'] = m1-p1
  return output_dic

我的疑问是,代码

output_dict['r1'] = m1+p1

表示 m1+p1 存储在第 r1 个键的 output_dict 变量数组中。但是“r1”在用作键之前既没有初始化也没有声明。python不会抛出错误吗?.

如果 r1 是一个变量,它是静态的还是在程序中有一个范围?

标签: pythonarraysfunctioncommand-line-arguments

解决方案


不,python 不会抛出错误,而是它会自动在 output_dict 中创建一个键,并为其分配值


推荐阅读