从单独的类访问类属性

2024-04-16 14:37:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个新手,所以原谅我,如果这是显而易见的。我试图从一个单独的类文件中访问类属性,正如您可能从标题中看到的那样。我给班级打电话时遇到了问题

    class Example:
        def __init__(self, test):
            self.test = test

假设test是我希望访问的属性

    from test import Example


    class Example2:
        def __init__(self):
        self.test = Example()

当我调用这个例子时,它说参数测试是未填充的。假设test已经有了一个重要的值,我不想改变它。在这种情况下我该怎么办?为什么


Tags: 文件fromtestimportself标题属性init
2条回答

您需要为Example()Example("test")添加一个参数

Example__init__接受一个参数test,它将该参数赋值给类属性test。因此,在创建Exmaple的实例时,需要提供以下参数

错误parameter test is unfilled是一个PyCharm警告,它实际上意味着当您在Example2def __init__中调用self.test = Example()时,您需要为它提供一个参数

关于“让我们假设test已经有一个重要的值,我不想更改它”:您正在创建一个带有self.test = Example()的新对象,并且该对象中的test属性将没有任何值

在问题摘要中,如果您确实希望访问另一个类中的类属性,那么您可以在该类中创建一些getter函数并在另一个类中使用它们。或者最好把它们变成财产。阅读更多信息:https://docs.python.org/3/library/functions.html#property

相关问题 更多 >