函數calculate_attribute
不返回值;它只能通過副作用起作用。在調用另一個函數後立即返回函數
通常該函數中我不得不寫這幾行:
print('some message')
set_attribute(value)
return
所以我決定把這個變成一個不同的功能:
def report_and_set(value, message):
print(message)
set_attribute(value)
它是確定到現在做到以下幾點:
def calculate_attribute(params):
#...
if something:
return report_and_set(value, message)
#...
if another_condition:
return report_and_set(value, message)
#...
感覺有點奇怪寫這個,因爲report_and_set
沒有返回值。但是如果我不這樣做,我必須在每次撥打report_and_set
後重復輸入return
。
從技術上講,它確實有一個返回值。如果沒有返回語句,函數默認返回None。如何使用elif語句?然後你可以調用report_and_set()而不用擔心使用return來退出函數。 – 2012-02-05 06:00:27
它可能是*重構時間*,但很難說不知道你的功能是什麼。 – 2012-02-05 10:42:46