2017-07-30 36 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