class F1:
pass
class S1(F1):
def show(self):
print 'S1.show'
class S2(F1):
def show(self):
print 'S2.show'
def Func(obj):
print obj.show()
s1_obj = S1()
Func(s1_obj)
s2_obj = S2()
Func(s2_obj)
输出结果是:
S1.show
None
S2.show
None
为什么会有“none”呢?
python里面的函数,如果没有
return
的话,就会默认return None
,你的代码中的show()
都是没有return
语句,因此obj.show()
这个函数执行的时候,就会返回None
, 然后你在Func中print
的时候i, 就会打印None
了。如果想不要的话,直接这样就好了啊