gpt4 book ai didi

python - 如何将此代码更改为 oop 格式以便我可以重复使用代码

转载 作者:行者123 更新时间:2023-12-01 05:56:52 25 4
gpt4 key购买 nike

import csv

datafile = csv.reader(open('datafile.csv','rb'), delimiter=",", quotechar='|')
date, data1, data2, data3 = [], [], [], []

for row in datafile:
date.append(row[0])
data1.append(row[1])
data2.append(row[2])
data3.append(row[3])

这就是我想做的。如您所见,此代码采用 1 个 csv 文件并从中创建 4 个列表。现在我可以并且将会对这些列表进行数学运算,例如 data1[4]-data2[30]

但我还有一些其他文件也想从中创建列表。但我希望能够像上面看到的数学那样重用我的代码(data1[4]-data2[30])。因此,理想情况下,包括数组在内的所有内容都应与其他文件命名相同。

我对编程非常陌生,所以事实证明这有点困难。显然,所有东西都被命名为相同的东西会发生冲突,我不希望这样。因此,通过某种方式,我希望能够重新使用我的数学逻辑,而不必复制一些大量的数学算法并重命名所有内容。

显然我不想只对这 4 个数组进行数学运算、保存结果并更改文件名。不,我的程序中的所有内容都必须同时工作。

我希望我能得到一些关于如何做到这一点的提示。我试图扩大我对 oop 工作原理的了解,但事实证明这很困难。我想最好能得到关于如何解决我自己的问题的解释。

回顾一下,我从 1 个文件创建了 4 个列表。我想从不同的文件创建 4 个附加列表,但将数组命名为相同。然后我只需要创建一次大量的数学计算就可以让它适用于所有事情。并让它适用于将来引入到我的程序中的任何新数据。

最佳答案

您想要一个数据容器,可以通过使用适当的构造函数(此处的 init 方法)创建一个类来获得它。下面是从两个文件加载数据的示例。

import csv

datafile1 = csv.reader(open('datafile1.csv','rb'), delimiter=",", quotechar='|')
datafile2 = csv.reader(open('datafile2.csv','rb'), delimiter=",", quotechar='|')


class data(object):

def __init__(self,data_file):

self.date, self.data1, self.data2, self.data3 = [], [], [], []

for row in data_file:
self.date.append(row[0])
self.data1.append(row[1])
self.data2.append(row[2])
self.data3.append(row[3])


data1 = data(datafile1)
data2 = data(datafile2)

如果您想应用方法(您描述的数学内容),您可能希望将这些方法放入类中,您能否给出一些更具体的示例来说明您想要做什么?

关于python - 如何将此代码更改为 oop 格式以便我可以重复使用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12077324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com