python - 赋予命名变量以动态运行
问题描述
我有函数变量的字典。
x = {"reverberance":20,"hf_damping":10}
现在我想给这个功能的内容x
。
def reverb(self,
reverberance=50,
hf_damping=50,
room_scale=100,
stereo_depth=100,
pre_delay=20,
wet_gain=0,
wet_only=False):
我现在所做的是,但它不起作用,因为可能x[key]
必须转换为str
?(但如果不是我可以连接)
x = {"reverberance":20,"hf_damping":10}
arr = []
for key in x:
arr.append(key + "=" + str(x[key]))
reverb(",".join(arr))
解决方案
您可以直接解压缩 kwargs:
x = {"reverberance":20,"hf_damping":10}
def reverb(
reverberance=50,
hf_damping=50,
room_scale=100,
stereo_depth=100,
pre_delay=20,
wet_gain=0,
wet_only=False):
return reverberance, hf_damping
reverb(**x) # returns (20,10)
推荐阅读
- python - PySpark 将 JSON 转换为数据框中有错误的列
- python - 如何使用 mark_rule() 在 Altair 图表中显示垂直线
- angular - 为什么此模板中的 async [hidden] 属性未更新?
- r - 标记数据框是否包含与其他数据框相同的值,跨多个变量
- typescript - 我的 jest-cucumber 测试无法识别我的步骤定义
- javascript - 在 Google 表格中使用多个条件过滤值
- java - 从 Java 14 起支持的 case 语句中的箭头仅 Java 编译错误
- spring-boot - 有没有办法做多租户 Swagger?
- ios - 使用 UITableViewDataSource 和自定义 UITableViewCell 委托的正确方法
- open-policy-agent - OPA(开放策略代理)将包从 S3 加载到本地工作站