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

问题描述 投票:0回答:1

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

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
python function arguments arcgis esri
1个回答
0
投票

可以使用字典解包

这是一个简单的例子:

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

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

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

可以应用到您的场景:

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

edit_features_retry("adds", datalayer)
© www.soinside.com 2019 - 2024. All rights reserved.