在导入的模块中无法访问 Python 类实例变量

问题描述

当从单独文件中的方法调用实例变量时,我无法访问它们。下面以一个虚拟脚本为例。

project_folder

  • main.py
  • function_library
    • testfunction.py
#main.py
class Dummy_Error_Class:
  def __init__(self,error_presence):
    self.__error = error_presence

  def check_error(self):
    if self.__error == True:
      print('Error Present')
    else:
      print('No Error Present')

  from function_library.testfunction import flip_error

dummy_error = Dummy_Error_Class(False)

dummy_error.check_error()

dummy_error.flip_error()

dummy_error.check_error()

test_function.py 中引用/导入的模块则为:

def flip_error(self):
    print(self.__dict__)
    
    error = self.__error
    if error == True:
        self.__error = False
    elif error == False:
        self.__error = True

当我运行脚本时,print(self.dict) 给了我 {'_Dummy_Error_Class__error': False} 但它随后引发了“AttributeError: 'Dummy_Error_Class' object has no attribute '__error'”

知道这里发生了什么吗?感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)