如何将参数名称作为参数传递到函数中?
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
可以使用字典解包。
这是一个简单的例子:
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)