首先,我知道if和try之间的区别,我非常清楚他们的目的是完全不同的-while一个做测试,另一个管理错误。然而,在这种特殊情况下,使用if还是try更好呢?
代码语言:javascript复制#option1
def getListRank(self):
for point in self.soup.findAll('td',class_="rank-cell"):
p = (point.get_text().replace('\t','').replace('\n','')
.replace('\r','').replace(',',''))
if 'T' in p:
self.listRk.append(int(p.replace('T',''))
else:
self.listRk.append(int(p))
return self.listRk 我很想使用下面的option2,因为我知道阻止p变成整数的唯一原因是那个'T‘的存在。因此,写这样的代码会不会很不寻常或者效率较低:
代码语言:javascript复制#option2
def getListRank(self):
for point in self.soup.findAll('td',class_="rank-cell"):
p = (point.get_text().replace('\t','').replace('\n','')
.replace('\r','').replace(',',''))
try:
self.listRk.append(int(p))
except:
self.listRk.append(int(p.replace('T',''))
return self.listRk我问这些问题是因为我以前读过这篇文章,所以我假设它是"pythonic“。然而,如果有一条解释/惯例,我更感兴趣。
提前感谢