python - 在 Python 中针对一个项目存储属性列表的更好方法是什么?

标签 python class object data-structures

我正在生成连接到服务器的计算机列表。我为每台计算机收集了一个属性列表。我是 Python 和编程的新手,发现我的解决方案相当笨拙。

我是用列表来做的。我有一个主列表:computer_list,每台计算机都是另一个列表,具有状态、日期、配置文件等属性。

computer_list = [cname1, cname2, cname3]
cname1 = ['online', '1/1/2012', 'desktop']

随着我工作和改变这个程序,这种方法的缺点变得越来越明显。我希望有更直观的东西。我查看了字典,但那个解决方案似乎和我的一样令人费解。一旦我开始迭代和分配,列表中的列表是可行的但不可读。我相信有更好的方法。

最佳答案

创建一个 Computer 对象来存储描述计算机属性和状态的字段是一种可行的方法。

你应该阅读更多关于类(class)的内容,但像下面这样的东西应该适合你的需要:

class Computer(object):
    def __init__(self, status, date, name):
        self.status = status
        self.date = date
        self.hostname = name

    # (useful methods go here)

也许您会初始化 Computer 对象并将它们存储在列表中,如下所示:

comp1 = Computer("online", "1/1/2012", "desktop")
comp2 = Computer("offline", "10/13/2012", "laptop")

computers = [comp1, comp2]

关于python - 在 Python 中针对一个项目存储属性列表的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14465423/

相关文章:

class - kotlin,如何从函数返回类类型

javascript - react 状态如何运作?

java - 如何检查文件是否已包含对象?

python - 如何向 Python plt.title 添加变量?

python - 我应该使用 tfidf 语料库还是仅使用语料库来使用 LDA 推断文档?

python - 从流重定向中更正乱序打印

Java 性能 : When clearing a object is it better to set to null or create a new object.

python - 使用 pyplot 打印错误栏上限上方的文本

Java:设置和获取字符串的方法

c# - C#中的对象和类有什么区别?