Define a class with optional argument in Python

2019-04-05 16:47发布

class class1():
    def setdata(self,value1, value2):
    self.data = value1+value2
def display(self):
    print(self.data)

For the above code, when I use it. It will require exactly two arguments.

>>>a = class1()
>>>a.setdata('123','456')

But what if I want to set a default value for value2, for exmaple, its(value2) default value is '000'.

Next time when I use the class, I can either type

>>>a = class1()
>>>a.setdata('123')

a.data will be '123000'

Or I can type

>>>a = class1()
>>>a.setdata('123','654')

a.data will be '123654'

How to achieve this? Thanks very much!

3条回答
ゆ 、 Hurt°
2楼-- · 2019-04-05 17:13

Try this please:

def setdata(self, value1, value2 = '000'):
   Your code here
查看更多
男人必须洒脱
3楼-- · 2019-04-05 17:18

Try defining a default argument, like so.

class class1():
    def setdata(self,value1, value2='000'):
        ...
查看更多
等我变得足够好
4楼-- · 2019-04-05 17:26
class class1:    
    def setdata(self,value1, value2=456):
        self.data = value1+value2
    def display(self):
        print(self.data)

may be this solves your problem

查看更多
登录 后发表回答