我有一个Python类,其中有一个方法:
class Table(object):
def create_index(self, *fields, name=None):
...
这段代码在Python 3.4中可以正常工作,但在Python 2.7中会因为参数和默认关键字参数的顺序而抛出SyntaxError异常。如果我将其改为:
def create_index(self, name=None, *fields):
...
根据这篇文章,它适用于Python 2.7并且在Python 3.4中不会抛出错误,但是
fields
无论我传入什么都最终变成了一个空元组。我像这样调用它:table.create_index('address')
。有没有某种方法可以定义一个带有args和默认kwargs的函数,使其与两个版本兼容?