关于将json作为函数输入传递的建议

时间:2018-11-27 01:40:47

标签: python

我打算编写一个例程来实现以下功能:根据“方法”,“之前”和“之后”,计算费用。不确定将json作为函数的输入传递是一种好习惯吗?这是否意味着该功能试图实现太多目标?当我将默认值分配给“目标”时,Pycharm发出警告“可变对象作为默认参数”。

cons.append({'type': 'ineq', 'fun': lambda x: MyFunction(x,True, copy.copy(i))})

1 个答案:

答案 0 :(得分:2)

关于警告可变对象作为默认参数

请参考以下内容

https://docs.quantifiedcode.com/python-anti-patterns/correctness/mutable_default_value_as_argument.html

"Least Astonishment" and the Mutable Default Argument

可变对象作为默认参数的行为类似于静态变量

关于将JSON作为函数输入进行传递,除非函数在JSON上执行很多事情,否则我认为这本身不是一个坏习惯。

例如:如果您需要删除/处理JSON中的一组特定键,则需要将JSON传递给执行此功能的函数。