Python - __init__ 参数

焦油.spock

我有以下问题。

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

凯特·梅尔尼科娃

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

*args = 10

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

__init__和Python中的参数

Python / Kivy中的__init__参数

类作为python __init__中的参数

“/”作为 Python 类的 __init__() 的参数是什么意思

使用__init__中的参数定义python类方法

从Python中的构造函数__init__内省参数

方法__init__参数太多

Python覆盖__init__

Python重载__init__

Python 3 - __init__() 需要 1 到 5 个位置参数,但给出了 6 个

python super :TypeError: __init__() 需要 2 个位置参数,但给出了 3 个

Python如何通过多重继承传递__init__参数

能否在python类的__init__中使用静态方法作为默认参数?

在python中,Frozenset的子类的__init__方法抛出参数number的TypeError

我如何将可选参数传递给python类中的__init__函数

每次删除未使用的参数表单 __init__ 时,Python Tkinter 都会出错

TypeError: __init__() 需要 2 个位置参数,但 Python 3 给出了 3 个?

Python 错误类型错误:__init__() 缺少 2 个必需的位置参数:和 ctypes

Python Pydantic 错误:TypeError:__init__() 正好采用 1 个位置参数(给定 2 个)

在python中覆盖init()。类型错误:__init__() 需要 1 个位置参数,但给出了 3 个

Python:具有与基类相同的一组 __init__ 参数的子类,加上额外的参数,不使用 super()

Python类__init__确认

python类的__init__方法

python模块__init__函数

Python __init__和varargs

Python:类中的 __init__

断言__init__是用正确的参数调用的

为什么缺少 __init__() 的参数?

在__init__方法中传递参数