這是一個關於面向對象編程的常見問題,我將使用下面的簡化示例來說明它。在類中迭代或迭代類實例?
每天在FTP站點上傳文件。根據文件上傳日期,文件被賦予一個名稱。所以,我們有Day1.txt,Day2.txt等等。 我創建了一個一次下載一個文件的類。所以當我調用這個類的實例時,會根據給定的參數下載一個文件。例如: downloading_class("2")
將下載Day2.txt
。
現在,我想通過從開始日期到結束日期下載一系列文件來擴展我的程序的功能。很明顯,我將使用for
循環。 我的問題是:這是一個很好的做法,在for
環整合類中,然後調用這個類的一個實例,像這樣的東西:
downloading_class("2","10")
或
寫一個for循環外班並在環路中集成實例:
for i in range(start,end):
downloading_class(i)
爲什麼它會更好一些?
問題是,你做了多少?如果你反覆做某件事,把它抽象成一個函數。如果你只做了一次,這可能不值得這樣做。 –
@Lattyware該程序意圖在每次使用時下載用戶定義的各種文件(例如100)。這是你問的嗎? – multigoodverse
通常情況下,你用一個參數來調用然後消失的東西不是一個類,而是一個函數。當然,你可以創建一個類似功能的類,或者其對象像函數一樣行事的類,但是......你爲什麼要這樣做? – abarnert