首页 > 解决方案 > 如何为类中的类设置值

问题描述

我有一个 Sheet 类,它包含两个属性,每个属性都是一个类

  1. 总结(类)
  2. 数据(类)

摘要和数据有1个属性df,它是一个数据框

我的问题是,我说得对吗,因为摘要和数据是类:

  1. 我不应该将摘要和数据直接作为数据框存储在 Sheet 类的属性中。

  2. 我应该将摘要和数据存储为对象,当主类希望设置摘要/数据时,我使用 Sheet 的设置器,它使用摘要/数据的设置器来设置实际的数据框

在 Main Class 中创建工作表对象:

import Sheet
sheet = Sheet.Sheet() # create empty sheet
sheet.set_summary(new_df) # set summary
sheet.set_data(new_df) # set data

在工作表类中:

import Summary
import Data

class Sheet:
    def __init__(self):
        self.name = None
        self._summary = Summary.Summary()
        self._data = Data.Data()

    def get_SheetSummary(self):
        return self._summary.get_summary()

    def set_SheetSummary(self,new_df):
        self._summary.set_summary(new_df)

    def get_SheetData(self):
        return self._data.get_data()

    def set_SheetData(self, new_df):
        self._data.set_data(new_df)

标签: pythondataframe

解决方案


如果Summary并且Data是只有一个数据框作为属性并且不处理任何额外内容的类,我认为没有理由为它们创建一个额外的类,而不是直接在您的Sheet类中保存数据框。如果事情变得更复杂,您仍然可以将这些属性提取到单独的类中。

如果这两个类所做的不仅仅是保存数据帧,那么您可能是一种将它们封装在一个类中的好方法。


推荐阅读