Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从不同的文件类函数导入变量_Python - Fatal编程技术网

Python 如何从不同的文件类函数导入变量

Python 如何从不同的文件类函数导入变量,python,Python,我的测试资源.py是 self.assertFalse(b.__is_manual) AttributeError: 'BaseResource' object has no attribute '_Resources__is_manual' class Resources(TestCase): def test_disable_manual_mode(self): self.assertFalse(b.__is_manual) if __name__=='__ma

我的
测试资源.py

  self.assertFalse(b.__is_manual) AttributeError: 'BaseResource' object has no attribute '_Resources__is_manual'
class Resources(TestCase):
    def test_disable_manual_mode(self):
        self.assertFalse(b.__is_manual)
if __name__=='__main__':
    b = base.BaseResource()
    unittest.main()
我的
base.py

  self.assertFalse(b.__is_manual) AttributeError: 'BaseResource' object has no attribute '_Resources__is_manual'
class Resources(TestCase):
    def test_disable_manual_mode(self):
        self.assertFalse(b.__is_manual)
if __name__=='__main__':
    b = base.BaseResource()
    unittest.main()
它们都在同一个目录中,我想在
测试资源.py

我该怎么做呢

我试过
b.。\u是手动的,但它给出了错误(如上所述)

根据

Python中不存在只能从对象内部访问的“Private”实例变量。但是,大多数Python代码都遵循一种约定:带有下划线前缀的名称(例如_spam)应被视为API的非公共部分(无论是函数、方法还是数据成员)。应将其视为实施细节,如有变更,恕不另行通知。 对象的实例化必须在测试类内部

class BaseResource(object):
    def __init__(self, index=0, parent=None, **kwargs):
        self.is_manual = False

    def disable_manual_mode(self):
        self.is_manual = False
将属性命名为
\u\u是\u manual
时,您将其定义为“受保护”属性,无法访问它。简化代码

class BaseResource(object):
    def __init__(self, index=0, parent=None, **kwargs):
        self.__is_manual = False
    def disable_manual_mode(self):
        self.__is_manual = False
此外,对象的实例化必须在测试类内部

class BaseResource(object):
    def __init__(self, index=0, parent=None, **kwargs):
        self.is_manual = False

    def disable_manual_mode(self):
        self.is_manual = False

我们无法访问\uuuu是\uu手册。因为我们不能访问以_u(双下划线)开头的变量。

@AbhishekYadav我改进了答案。但是如果我有多个方法,那么我需要多次实例化对象