要编写一个具有与构造函数相同默认值的函数,可以使用默认参数来实现。默认参数是在函数定义时为参数提供的默认值。
以下是一个示例代码:
class MyClass:
def __init__(self, param1=0, param2='default'):
self.param1 = param1
self.param2 = param2
def my_function(self, param1=0, param2='default'):
print(f'Param1: {param1}, Param2: {param2}')
# 使用构造函数创建对象
obj1 = MyClass(10, 'value')
obj1.my_function() # 输出: Param1: 0, Param2: default
# 使用函数调用创建对象
obj2 = MyClass()
obj2.my_function() # 输出: Param1: 0, Param2: default
在上面的代码中,MyClass类有一个构造函数__init__,它接受两个参数param1和param2,并将它们分配给相应的实例变量。my_function方法也接受相同的参数,并在调用时打印它们的值。
当使用构造函数创建obj1对象时,将传递参数10和'value',并将其分配给param1和param2。因此,调用obj1.my_function()时,没有传递任何参数,将使用默认参数0和'default'。
当使用函数调用创建obj2对象时,没有传递任何参数,构造函数的默认参数将被使用。因此,调用obj2.my_function()时,也将使用默认参数0和'default'。
这样,函数my_function就具有与构造函数相同的默认值。