2017-07-30 39 views
0

我创建了一个类蒙山打印出它的一个字段的方法:奇怪的输出调用循环(Python)的目标函数时

class Rule: 
def __init__ (self,number, callout): 
    self.number=number 
    self.callout=callout 

def shout(self): 
    print(self.callout) 

我然后创建这些对象的列表来遍历,呼吁呐喊()对于它们中的每:

Fizz = Rule(3,"Fizz") 
Buzz = Rule(5,"Buzz") 
Rules = [Fizz,Buzz] 
#example 1 
for x in range(0, 2): 
    Rules[x].shout() 
#example 2 
for item in Rules: 
    print (item.shout()) 

实施例1的输出结果是: 嘶嘶声 巴兹 如预期。但是例2的输出是: 菲斯 无 巴兹 无

为什么他们执行不同? 预先感谢您:)

回答

2

item.shout()返回None

一个值。因此,当你打印出来,你会得到从功能打印语句以及返回值在默认情况下,为None