class info(object):
def __init__(self, name, age):
self.name = name
self.age = age
def tell(self):
print "infotell"
class subinfo(info):
def __init__(self, name,age, grade):
info.__init__(self, name, age)
self.grade = grade
def tell(self):
print "sub-infotell"
tom = subinfo("Jack", 13, 98)
print tom.tell()
输出是:
sub_infotell
None
我只是想知道在哪里"没有"来自?如何避免输出"无"?
答案 0 :(得分:5)
从print
行中删除print tom.tell()
。
您的tell()
方法已经完成了所有打印,因此无需打印该方法的返回值。由于您未在方法中实际使用return
,因此会返回默认值None
:
>>> def ham():
... foo = 'bar'
... # no return used
...
>>> print ham()
None
>>> def spam():
... return 'bar'
...
>>> print spam()
bar
请注意打印ham()
的返回值如何打印None
。
另一种方法是,您从方法中删除print
语句,然后使用return "sub-infotell"
。