我们正在开发一个 Python 库,并希望更改某些函数中的函数参数名称。我们希望保持向后兼容性,因此需要找到一种方法来为函数参数创建别名。
以下是一个例子: 旧版本:
以下是一个例子: 旧版本:
class MyClass(object):
def __init__(self, object_id):
self.id = object_id
新版本:
class MyClass(object):
def __init__(self, id_object):
self.id = id_object
如何使类与两种调用方式兼容:
object1 = MyClass(object_id=1234)
object2 = MyClass(id_object=1234)
我当然可以创建像这样的东西:
class MyClass(object):
def __init__(self, object_id=None, id_object=None):
if id_object is not None:
self.id = id_object
else:
self.id = object_id
但这会改变参数数量,我们严格希望避免这种情况。
是否可以声明方法别名或参数别名?