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 方式的许多实例”,您可能需要使用列表推导。
我需要定义一个 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 方式的许多实例”,您可能需要使用列表推导。