所以这是提供的代码。我自己测试了一些东西。我了解到,如果我添加一个print(i)之后(对于i中的L)它将打印零,但如果我在(如果我)之后添加print(i)则它不会打印零。我搜索了互联网和我的教科书,但我不能自己解释。究竟什么“如果L:”和“如果我:”呢?任何帮助都会很棒,谢谢。
class TestClass(object):
def __init__(self,L=None):
self.D = {}
if L:
for i in L:
if i:
if i in self.D:
self.D[i] += 1
else:
self.D[i] = 1
def __add__(self,param):
if type(param) == TestClass:
for k, v in param.D.items():
if k in self.D:
self.D[k] += v
else:
self.D[k] = v
return TestClass(self.D)
else:
return self + TestClass(param)
def __str__(self):
out_str = ''
for k, v in self.D.items():
out_str += '{}:{}, '.format(k, v)
out_str = out_str.strip(", ")
return out_str
inst1 = TestClass([-1,0,0,1,2,3,3])
print(inst1)
答案 0 :(得分:0)
我是零,将被视为假,删除此行,你会没事的。
if i: