[英]Is it advisable to use print statements in a python function rather than return
假設我有這個功能:
def function(a)
c = a+b
print(c)
是否建議在函數中使用 print 語句來顯示輸出而不是在末尾放置 return 語句並使用print(function(a))
?
另外,如果我在函數中同時使用 print 語句和 return 語句來顯示相同的輸出,會有什么影響? 假設我需要顯示c
的答案,然后在其他地方使用c
的值。 這是否違反了任何編碼約定?
所以問題的重點不是print
和return
之間的區別,而是在同一個函數中使用兩者是否被認為是一種好的風格,以及它是否對程序有可能的影響。 例如在:
def function(a)
c = a+b
print(c)
return c
value = function
print(value)
結果會是兩個c
嗎? 假設c = 5
; 因此,輸出會是(?):
5
5
print
和return
解決兩個完全不同的問題。 當以交互方式運行瑣碎的例子時,它們似乎做同樣的事情,但它們完全不同。
如果您確實只想打印結果,請使用print
。 如果需要進一步計算結果,請使用return
。 除了在調試階段,如果不使用調試器,print語句有助於查看正在發生的情況,那么使用兩者的情況相對較少。
根據經驗,我認為避免在函數中添加print
語句是好的,除非函數的明確目的是打印出來。
在所有其他情況下,函數應返回一個值。 然后,調用該函數的函數(或人)可以決定打印它,將其寫入文件,將其傳遞給另一個函數等。
因此問題的重點不在於打印和返回之間的區別,而是在同一功能中使用它們以及它對程序可能產生的影響時,它被認為是好的風格。
這不是好風格,風格也不錯。 除了最終打印許多可能不需要打印的東西之外,對程序沒有重大影響。
如果您需要打印和返回值的功能,這是完全可以接受的。 一般來說,這種事情很少在編程中完成。 它可以追溯到功能設計的概念。 如果它是為打印而設計的,那么返回一個值通常沒有意義,如果它被設計為返回一個值,那么打印通常沒有意義,因為調用者可以根據需要打印它。
好的return
和print
完全是兩個不同的過程。
而print
將向用戶或通過控制台顯示信息; 和return
用於從滿足特定目的的方法中收集數據(以后在整個程序中使用)。
為了回答你的問題,我相信它會回歸這兩個價值觀; 因為一個人打印 c
變量本身,另一個返回值c
也存在? 如果我錯了糾正我。
我主要讓函數返回一個值,然后打印函數的結果。
我總是做的事情(隨意忽略這一點):如果函數返回某些內容,我從不打印。 這對我自己來說只是一種規則。 我這樣做,所以我可以告訴輸出來自哪里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.