checkProfile (user) {
let p = {
username: user,
key: '00'
}
return this.postMethod(p).subscribe(
d => {
return d['code'] == '000' ? true : false;
}
)
}
我正在尝试获取class Cust(object):
def __init__(self,cust_id,cust_day,cust_amt):
self.id=cust_id
self.total=0
self.days=[cust_day]
self.amounts=[cust_amt]
def add_Purchases(self,day,amount):
self.amounts.append(amount)
self.days.append(day)
print("add Purchase Executed for ",self.id,self.amounts)
print(self.get_Total_Sales())
def get_Total_Sales(self):
total = sum(self.amounts)
return total
class DB(object):
def __init__(self,filedir):
self.dir=filedir
self.DB_cust={}
self.createDatabase(filedir)
def importFile(self,file):
file.readline()
for line in file:
val=line.split(",")
customerID=data[0]
if customerID in self.DB_cust:
self.DB_cust[customerID].add_Purchases(val[2],float(val[3]))
else:
self.DB_cust[customerID]=Cust(val[0],val[1],val[2],float(val[3]))
的ID。我从数据库类maximum value of total
的实例方法中调用get_total_sales()
get_Max_ID()
这显然会导致
TypeError:get_Total_Sales()缺少1个必需的位置参数:“ self”
如果我通过get_Max_ID传递def get_Max_ID(self):
print("Max Sale ID here")
Cust.get_Total_Sales()
。它会通过数据库本身而不是Cust。我不确定在从DB类调用Cust的自我时如何传递它。
说明-get_Total_Sales()获取每个客户的总数,但是我试图从所有客户实例中获取最大的总数。 (我还没有编写那部分代码,它可以最大程度地发挥作用)
答案 0 :(得分:1)
按照OP在问题注释中要说的去做,他们可能想要这样的东西:
max([cust.get_Total_Sales() for id, cust in self.DB_cust.items()])
它将遍历客户字典,并且对于每对键/值对(id
和cust
)将调用并返回Cust
的{{1}}
然后get_Total_Sales()
将从生成的值列表中获取所有单个结果,并仅返回最大值。
如评论中所问,尽管我认为没有理由不理解:
max