从python中的文本文件创建类实例

2024-09-28 21:53:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一门多项式课程:

class Polynomial:
    def __init__(self, *termpairs):
        self.termdict = dict(termpairs)

要将实例添加到此类中,请输入以下内容:

P = Polynomial((3,2), (4,5), (9,8))

现在我试图创建一个函数,从一个文本文件中读取信息,并从该文本文件中创建一个多项式类的实例。信息存储在文本文件中,如下所示:

4 6
2 3
9 8
3 5
0 42

到目前为止,函数如下所示:

def read_file(polyfilename):
    polyfilename = open("polyfilename.txt", "r")
    poly1 = polyfilename.read()
    polyfilename.close()
    poly1 = [line.split() for line in poly1.split("\n")]
    poly1 = [[int(y) for y in x] for x in poly1]
    for item in poly1:
        return Polynomial(item)

它只为文本文件中的第一对创建多项式实例,如何为文本文件中的所有对创建多项式实例?

编辑: 我现在有了这个功能:

def read_file(polyfilename):
    polyfilename = open("polyfilename.txt", "r")
    poly = polyfilename.read()
    polyfilename.close()
    poly = [line.split() for line in poly.split("\n")]
    poly = [[int(y) for y in x] for x in poly]
    return Polynomial(poly[0], poly[1], poly[2], poly[3], poly[4])

它给了我我正在寻找的答案,然而,这些文本文件的长度可以改变,所以键入poly[1],poly[2]将不起作用。有没有一种方法,我可以通过每一个索引,无论长度是多少?


Tags: 实例函数inselfforreaddefline