簡體   English   中英

是否建議在 python 函數中使用打印語句而不是返回

[英]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的值。 這是否違反了任何編碼約定?

所以問題的重點不是printreturn之間的區別,而是在同一個函數中使用兩者是否被認為是一種好的風格,以及它是否對程序有可能的影響。 例如在:

 def function(a)
    c = a+b
    print(c)
    return c
 value = function
 print(value)

結果會是兩個c嗎? 假設c = 5 ; 因此,輸出會是(?):

5
5

printreturn解決兩個完全不同的問題。 當以交互方式運行瑣碎的例子時,它們似乎做同樣的事情,但它們完全不同。

如果您確實只想打印結果,請使用print 如果需要進一步計算結果,請使用return 除了在調試階段,如果不使用調試器,print語句有助於查看正在發生的情況,那么使用兩者的情況相對較少。

根據經驗,我認為避免在函數中添加print語句是好的,除非函數的明確目的是打印出來。

在所有其他情況下,函數應返回一個值。 然后,調用該函數的函數(或人)可以決定打印它,將其寫入文件,將其傳遞給另一個函數等。

因此問題的重點不在於打印和返回之間的區別,而是在同一功能中使用它們以及它對程序可能產生的影響時,它被認為是好的風格。

這不是好風格,風格也不錯。 除了最終打印許多可能不需要打印的東西之外,對程序沒有重大影響。

如果您需要打印和返回值的功能,這是完全可以接受的。 一般來說,這種事情很少在編程中完成。 它可以追溯到功能設計的概念。 如果它是為打印而設計的,那么返回一個值通常沒有意義,如果它被設計為返回一個值,那么打印通常沒有意義,因為調用者可以根據需要打印它。

好的returnprint完全是兩個不同的過程。

print將向用戶或通過控制台顯示信息; return用於從滿足特定目的的方法中收集數據(以后在整個程序中使用)。

為了回答你的問題,我相信它會回歸這兩個價值觀; 因為一個人打印 c變量本身,另一個返回c也存在? 如果我錯了糾正我。

我主要讓函數返回一個值,然后打印函數的結果。

我總是做的事情(隨意忽略這一點):如果函數返回某些內容,我從不打印。 這對我自己來說只是一種規則。 我這樣做,所以我可以告訴輸出來自哪里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM