关于
在我在此网站上看到的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是一个变量,它是静态的还是在程序中具有作用域?
答案 0 :(得分:1)
不,python不会抛出错误,而是它将在output_dict中自动创建一个为其分配值的键
答案 1 :(得分:0)
'r1'
只是一个字符串,无需初始化或声明它。
output_dict['r1'] = m1 + p1
的意思是:
if 'r1' in output_dict:
# change output_dict['r1'] to m1 + p1
else:
# create a 'r1' key in output_dict,
# and assign value `m1 + p1` to it
答案 2 :(得分:0)
Car 1 (Required): <error message>
OR
Car 2: <error message>
只是一个字符串文字,例如"r1"
或"hello"
,而"hi"
所做的是在{中创建一个密钥output_dict['r1'] = m1+p1
{1}},然后将r1
分配给一个表达式
一个简单的例子可能是
output_dict
在这里,您看到实例化m1+p1
字典后,我分配了键和值对In [42]: dct = {}
In [43]: dct['a']='b'
In [44]: dct
Out[44]: {'a': 'b'}
In [45]: dct['c']='d'
In [46]: dct
Out[46]: {'a': 'b', 'c': 'd'}
,然后分配了dct