Python中如何将参数名作为参数传入函数?含报错咨询
在Python中将参数名作为参数传入函数的解决方法
你的核心问题是:想要动态指定调用AGOLlayer.edit_features时的关键字参数名,但当前写法错误地把变量名当成了参数名,或者未正确使用字符串参数。
正确解决方案
通过字典解包实现动态关键字参数传递:
def edit_features_retry(editType, data): # 用传入的参数名构造字典,再通过**解包为关键字参数 AGOLlayer.edit_features(**{editType: data}) # 调用时传入字符串格式的目标参数名 edit_features_retry("adds", datalayer)
错误原因说明
- 第一种写法中,
edit_features(editType=data)是将editType作为固定关键字传递,但AGOLlayer.edit_features不接受该参数名,因此触发TypeError。 - 第二种写法直接写
adds(无引号),Python会将其视为变量,但你未定义过该变量,因此触发NameError。
内容的提问来源于stack exchange,提问作者ajd018
相关产品推荐
相关产品推荐

