【发布时间】:2020-07-29 23:12:01
【问题描述】:
class Mobile:
def __init__(self, model, type, year):
self.model = model
self.type = type
self.year = year
mobilePhones = [
["Samsung", "Galaxy S8", "2000"],
["Samsung", "Galaxy S9", "2001"],
["Samsung", "Galaxy S10", "2002"],
["Apple", "iPhone 8", "2005"],
["Apple", "iPhone 10", "2006"],
["Apple", "iPhone 11", "2007"],
]
phones = [
Mobile(mobilePhones[0][0],mobilePhones[0][1],mobilePhones[0][2]),
Mobile(mobilePhones[1][0], mobilePhones[1][1], mobilePhones[1][2]),
Mobile(mobilePhones[2][0], mobilePhones[2][1], mobilePhones[2][2]),
Mobile(mobilePhones[3][0], mobilePhones[3][1], mobilePhones[3][2]),
Mobile(mobilePhones[4][0], mobilePhones[4][1], mobilePhones[4][2]),
Mobile(mobilePhones[5][0], mobilePhones[5][1], mobilePhones[5][2]),
]
print(phones.model)
我只是想知道为什么这个逻辑不起作用?我正在尝试将 2dlist 中的每个数据添加到类中,以便能够调用所有模型、类型或年份。
print(mobilePhones[0][1]) 有效,但当我尝试从课堂上调用它时无效。喜欢:
print(phones.model) or print(phones.year).
【问题讨论】:
-
另外,省点力气:
phones = [Mobile(*item) for item in mobilePhones]