【问题标题】:using Class diagram to create baseclass in object oriented programming in python在python中使用类图在面向对象编程中创建基类
【发布时间】:2022-01-11 16:03:46
【问题描述】:

我是面向对象编程的新手,我需要在下面的代码中使用下面给出的类图在下面的程序中编写一个 BankDataWriterBase 基类。我无法理解类图所具有的完整内容,这里有任何人知道并向我解释他们使用类图实际在说什么

import pandas as pd

class ExcelParser:
    def __init__(self):
        self.config = []       
    
    def extract(self, file_name):
        raw_excel=pd.read_excel(file_name,sheet_name=None,na_values= None,keep_default_na=False)
        return [x for k, v in raw_excel.items() for x in v[v.columns.intersection(self.config)].to_dict(orient='records')]

if __name__ == "__main__":
    conf = list(input("ENTER THE LIST HERE : ").split(','))
    file_name = input("enter the full path to the file : ")
    obj = ExcelParser()
    obj.config = conf
    print(obj.extract(file_name))

这是 BankDataWriterBase 类的类图,我已经完成了 EXcelParser 类但我不知道如何处理 BankDataWriterBase 类

【问题讨论】:

    标签: python object oop inheritance class-diagram


    【解决方案1】:

    既然你已经有一个 ExcelParser 我们将从那里开始,但首先也许看看this

    ExcelParser 将有一个属性 config 这是一个 List[str] 和你已经拥有的函数 extract。您将需要存储 BankDataWriterImpl 的实例。

    BankDataWriterBase 将是BankDataWriterImpl 的基类(input_path, output_path and bank_identifier 和一个函数write_file

    BankDataWriterImpl 将有一个带有字符串参数且不返回的extract_json 函数。 BankDataWriterImpl 也将存储 1 到 n Tasks(因此是任务列表)。

    每个Task 都有一个没有参数且不返回任何内容的运行函数。

    最后,如果您想在 python 中表示类型,请查看the typing module

    【讨论】:

    • 请查看并更正我的更新方法
    • 首先定义Task或BankDataWriterBase,然后在这2个BankDataWriterImpl之后,最后定义ExcelParser。要从 python 中的类继承,只需执行class BankDataWriterImpl(BankDataWriterBase)。但是您的原始问题已解决,后续问题不再是真正的主题,所以如果您还有任何问题,请提出一个新问题。
    • done robin 你能解释一下BankDataWriterBase类图吗
    • 您的代码中的内容是正确的,除非您有具体问题,否则我真的无法在答案中解释更多。
    • 我提出了一个具体的问题,你能解释一下吗'stackoverflow.com/questions/70672511/…'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    • 2020-03-17
    相关资源
    最近更新 更多