我开发了一个用于在一个文件中分析数据的应用程序,但我读到它需要以客观的方式制作。试图使其客观,我得到一个错误,即模块不具有属性(它具有)
试图禁用掉毛并以不同的方式组织代码,但始终会出现此错误
文件-analyser.py
import argparse
import helper
class analyser:
def __init__(self):
pass
def cli(self):
#some code
if __name__ == '__main__':
analyser.cli
helper.analyse(arguments)
文件-helper.py
import csv
class helper:
def __init__(self):
pass
def analyse(self, arguments):
#code
我明白了 AttributeError:模块'analyser'没有属性'analyse'
答案 0 :(得分:1)
模块helper
没有属性analyse
。但是, class helper
确实有一个。您可以执行以下操作之一来访问analyse
函数:
from helper import helper
...
helper.analyse(arguments)
或
import helper
...
helper.helper.analyse(arguments)
目前,两个类helper
和analyser
是多余的。仅使用函数可能会更好。面向对象的程序设计在某些情况下对于封装数据和进行抽象很有用,但是功能性程序设计有其自己的用途,并且最好知道何时使用它们。