时隔 20 年,我才刚刚回到编程领域。我认为 Python 看起来相当简单和强大,所以我做了一个在线课程和一些阅读。
我现在正在研究一些简单的项目来熟悉该语言。挑战之一是让我了解面向对象编程,这在我上次编写程序时还没有。
我的第一个项目是读入一个包含股票投资组合信息的数据文件,对每个文件进行一些计算并打印一份报告。我有这个工作。
所以现在我正在研究更高级的东西,读取数据并存储它,然后使用数据为交互式问题提供答案。我的问题是如何存储数据以便可以轻松访问。
我的第一个想法是列出一个列表,例如,
companies = [ ['AMP', 1000, 2.50], ['ANZ', 2000, 17.00], ['BHP', 500, 54.30] ]
这可以很容易地在循环中访问,但访问方法并不完全友好 - 数字作为索引而不是名称:
companyqty = companies[1][1]
或 for 循环:
for company in companies:
if company[0] == 'BHP':
companyqty = company[1]
然后我想到了一个字典,它的值是一个列表:
companies = {'AMP':[1000, 2.50], 'ANZ':[2000, 17.00], 'BHP':[500, 54.30] }
companyqty = companies['BHP'][0]
这提供了对任何给定公司的即时访问,但仍然停留在数字索引上。
所以我想知道如何以面向对象的方式构造它,以便能够保存公司列表和所有相关数据,并能够方便地访问这些值。到目前为止,我所有的想法看起来都像上面的列表或字典。
或者这类问题是否真的不适合面向对象的方法?
谢谢