如何将参数名作为参数传递到函数中?

def edit_features_retry(editType,data):
    AGOLlayer.edit_features(editType=data)

edit_features_retry("adds", datalayer)

错误:

TypeError: edit_features() got an unexpected keyword argument 'editType'

如果我以字符串的形式执行此操作:

def edit_features_retry(editType,data):
    AGOLlayer.edit_features(editType=data)

edit_features_retry(adds, datalayer)

错误:

NameError: name 'adds' is not defined

推荐答案

你可以用dictionary unpacking美元.

下面是一个简单的例子:

def f(a = 1, b = 2):
  print(f"{a = }, {b = }")

f(b=5)  # output: "a = 1, b = 5"

kwargs = {"b": 5}
f(**kwargs)  # output: "a = 1, b = 5"

它可以应用于您的场景:

def edit_features_retry(editType, data):
    AGOLlayer.edit_features(**{editType: data})

edit_features_retry("adds", datalayer)

Python相关问答推荐

Select 用a和i标签包裹的复选框?

Python daskValue错误:无法识别的区块管理器dask -必须是以下之一:[]

如何使用pandasDataFrames和scipy高度优化相关性计算

try 在树叶 map 上应用覆盖磁贴

不理解Value错误:在Python中使用迭代对象设置时必须具有相等的len键和值

如何获取TFIDF Transformer中的值?

PMMLPipeline._ fit()需要2到3个位置参数,但给出了4个位置参数

从一个系列创建一个Dataframe,特别是如何重命名其中的列(例如:使用NAs/NaN)

pandas在第1列的id,第2列的标题,第3列的值,第3列的值?

如何在Python中找到线性依赖mod 2

在www.example.com中使用`package_data`包含不包含__init__. py的非Python文件

通过ManyToMany字段与Through在Django Admin中过滤

在极中解析带有数字和SI前缀的字符串

在输入行运行时停止代码

具有相同图例 colored颜色 和标签的堆叠子图

如果包含特定值,则筛选Groupby

为什么Visual Studio Code说我的代码在使用Pandas concat函数后无法访问?

使用美汤对维基百科表格进行网络刮擦未返回任何内容

如何在Polars中处理用户自定义函数的多行结果?

将参数从另一个python脚本中传递给main(argv