Python Class 有很多实例

Python Class With Lots of Instances

我需要定义一个 class 和许多实例(超过 30 个,但代码中给出了其中的 3 个)以便能够在 python 模块文件之间共享它们。我对以下代码(简化版)有疑问:

class class1:
    def __init__(self, var1):
        self.var1 = var1

    def read_file():
        try:
            f = open('/file1.txt')
            read_text = f.readlines()
            abc1 = class1((read_text[0]))
            abc2 = class1((read_text[1]))
            abc3 = class1((read_text[2]))
    
        except:
            abc1 = class1("text_1")
            abc2 = class1("text_2")
            abc3 = class1("text_3")


class1.read_file()

def1 = class1("abc")
def2 = class1("def")
def3 = class1("hjk")

print(def1.var1)
print(abc1.var1)
print(abc2.var1)

它给出错误:

NameError: name 'abc1' is not defined

我试图在 class 中定义实例,以避免为它们定义实例并使代码变长。

通过 class 定义 30 多个实例的 pythonic 方法是什么? 在class中定义实例的解决方案是什么?

file1.txt的内容:

a
b
c
d
e

这有帮助吗:

class MyClass:

    def __init__(self, var):
        self.var = var


with open('/file1.txt') as f:
    objects = [MyClass(line) for line in f]

print(objects[0].var)
print(objects[1].var)

(让我们为 class 命名 PEP8) 要定义“以 Python 方式的许多实例”,您可能需要使用列表推导。