Escape保留关键字Python

时间:2019-03-03 22:32:56

标签: python python-3.x netsuite zeep suitetalk

我正在使用ZEEP连接到NetSuite。创建发票时需要传递给NS的参数之一是“类”。如果我理解正确,那么以下行之所以不能编译,是因为“ class”是保留关键字。

invoice = invoiceType(
    customFieldList = customFieldList,
    entity = entityRecord,
    subsidiary = subRecord,
    department = departmentRecord,
    location = locationRecord,
    class = classRecord
)

我没有选择将最后一个参数从“ class”更改为“ Class”或其他选项,因为这是NetSuite期望调用该参数的方式。我可以在python中使用其他替代方法吗?有没有一种方法可以在将其作为参数传递时进行转义?

1 个答案:

答案 0 :(得分:2)

您需要使用**{...}语法传递名称为保留字的关键字参数。

invoice = invoiceType(
              customFieldList=customFieldList, 
              entity=entityRecord,
              subsidiary=subRecord,
              department=departmentRecord,
              location=locationRecord,
              **{'class': classRecord}
           )

这是在创建一个名为'class'的键的字典,然后将字典展开为参数,这样您就不必指定文字class关键字。