Python:在一个函数中定义的变量在另一个函数中无法识别

Python:在一个函数中定义的变量在另一个函数中无法识别,python,function,Python,Function,在第9行,我得到以下错误: class TestUM(unittest.TestCase): def test_Dynasty_init(self): try: self.p = ModelInterface(r"E:\HIL\07_Tests\AT_Dynasty_models\AT745\RTM_AT_745.dml") #any dml file should do here except Exception:

在第9行,我得到以下错误:

class TestUM(unittest.TestCase):
    def test_Dynasty_init(self):
        try:
            self.p = ModelInterface(r"E:\HIL\07_Tests\AT_Dynasty_models\AT745\RTM_AT_745.dml") #any dml file should do here
        except Exception:
            self.fail("Dynasty initialization raised ExceptionType unexpectedly!")

    def test_Dynasty_check(self):
        self.p.check()

我不明白
self.p
test\u dentium\u check
函数中未被识别。

这可能取决于类实例在test\u dentium\u check()之前是否实际调用了test\u dentium\u init()。

这可能取决于test\u dentium\u check()之前是否实际调用了test\u dentium\u init()对于类实例。

您应该使用
setUp()
tearDown()
进行初始化/销毁代码

如果我没记错的话,
unittest
库按字母顺序运行以
test
开头的所有函数。这意味着
test\u dentium\u check
test\u dentium\u init
之前运行编辑:顺序无关紧要,因为每个测试都将从TestCase类的新实例运行。

您应该使用
setUp()
tearDown()
进行初始化/销毁代码


如果我没记错的话,
unittest
库按字母顺序运行以
test
开头的所有函数。这意味着
test\u dentium\u check
test\u dentium\u init
之前运行编辑:顺序无关紧要,因为每个测试都将从TestCase类的一个新实例运行。

这是两个独立的测试用例。每个测试方法都在
TestUM
的一个独立实例上调用。将
test\u devenation\u init
重命名为
setUp
,或者将两者合并为一个方法。这是两个单独的测试用例。每个测试方法都在
TestUM
的单独实例上调用。要么将
test\u devenation\u init
重命名为
setUp
,要么将两者合并为一个方法。我甚至不指望测试方法按任何特定顺序执行。单个测试应该相互独立,我甚至不指望测试方法以任何特定的顺序执行。单个测试应相互独立。
"AttributeError: 'TestUM' object has no attribute 'p'"