【问题标题】:Python - __init__ argsPython - __init__ 参数
【发布时间】:2021-03-19 15:59:18
【问题描述】:

我有以下问题。

class Operacoes(object):

    def __init__(self, *args):
        self.__numero = args

    def get_numero(self) -> int:
        return self.__numero

x = Operacoes(10).get_numero()
print(x)
#(10,)

这让我很感兴趣,为什么有人知道怎么告诉我?

args,在第 10 次情况下应该返回一个 int,但返回的是一个元组。

【问题讨论】:

标签: python python-3.x


【解决方案1】:

这是因为当你调用get_numero()方法时,会返回self.__numero。当在__init__() 中查看self.__numero 时,它返回args,它始终是一个元组,即使你只有一个参数。

【讨论】:

    【解决方案2】:

    让我们仔细看看语法。你分配了

    *args = 10
    

    星号在这里非常重要,因为它会解包元组/列表。根据 Python 规范,args 是一个元组,即使它包含单个元素。

    然后,self.__numero 存储一个元组。当你检索它并打印它时,它仍然是一个元组。

    【讨论】:

      猜你喜欢
      • 2010-11-28
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      相关资源
      最近更新 更多