微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在导入的模块中无法访问 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 举报,一经查实,本站将立刻删除。