繁体   English   中英

Python - __init__ 参数

[英]Python - __init__ args

我有以下问题。

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,但返回的是一个元组。

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

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

*args = 10

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM