【问题标题】:Define a class with optional argument in Python在 Python 中定义一个带有可选参数的类
【发布时间】:2012-05-27 16:55:02
【问题描述】:
class class1():
    def setdata(self,value1, value2):
    self.data = value1+value2
def display(self):
    print(self.data)

对于上面的代码,我在使用的时候。它只需要两个参数。

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

但是如果我想为value2 设置一个default value,例如,它的(value2)默认值为'000'

下次我使用该类时,我可以键入

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

a.data 将是 '123000'

或者我可以输入

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

a.data 将是 '123654'

如何做到这一点? 非常感谢!

【问题讨论】:

    标签: python class arguments default


    【解决方案1】:

    请试试这个:

    def setdata(self, value1, value2 = '000'):
       Your code here
    

    【讨论】:

    • pep8 建议等号周围不要有空格。
    【解决方案2】:

    尝试定义一个default argument,像这样。

    class class1():
        def setdata(self,value1, value2='000'):
            ...
    

    【讨论】:

    • 您应该尝试链接到更新版本的 Python 文档。 Python 1.x 是当今的历史化石。
    • 对于包括大多数人绊倒的地方的解释:network-theory.co.uk/docs/pytut/DefaultArgumentValues.html
    • @Li-aungYip 好点,我会更新链接。我是用手机发帖的,所以我的要求可能有点松懈。 :)
    【解决方案3】:
    class class1:    
        def setdata(self,value1, value2=456):
            self.data = value1+value2
        def display(self):
            print(self.data)
    

    也许这能解决你的问题

    【讨论】:

      猜你喜欢
      • 2018-08-04
      • 2015-09-18
      • 2010-10-01
      • 2020-12-27
      • 2020-11-04
      • 1970-01-01
      • 2019-08-30
      • 2011-06-20
      • 2018-02-18
      相关资源
      最近更新 更多