这里的str问题
左侧的教学程序中为什么没有将self.names转为str类型,而在作业中要用到这个语句呢?
左侧的教学程序中为什么没有将self.names转为str类型,而在作业中要用到这个语句呢?
2016-07-01
class Students(object):
def __init__(self, *args):
self.names = args
def __len__(self): #这里没有把self.names转换为str类型而直接用了len函数
return len(self.names)
>>> ss = Students('Bob', 'Alice', 'Tim')
>>> print len(ss)
3
以上是案例
作业答案如下:
class Fib(object):
def __init__(self, num):
a, b, L = 0, 1, []
for n in range(num):
L.append(a)
a, b = b, a + b
self.numbers = L
def __str__(self): #这里将self.numbers转为了str类型
return str(self.numbers)
__repr__ = __str__
def __len__(self):
return len(self.numbers)
f = Fib(10)
print f
print len(f
举报