要编写一个具有与构造函数相同默认值的函数,可以使用默认参数来实现。默认参数是在函数定义时为参数提供的默认值。
以下是一个示例代码:
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
就具有与构造函数相同的默认值。