[英]What is a good way in python to reduce code repetition when a function with many parameters is called multiple times?
[英]What is the efficient way to write code where argument with same value is passed to a function that is called multiple times ? (python)
def filtered_imagesIds(imageParam,serverId)
###code to get subset of data provided using serverId
def oldest_image(filteredImageParam)
### code to find oldest image
mainfunc()
completeImageSet = (### code to get whole set of ImageIds)
for server in serverList:
filteredImageSet = fitered_ImageIds(completeImageSet,server)
oldestImage = oldest_image(filteredImageSet)
oldImageList.append(oldestImage)
print oldImageList
這是我的代碼的大致框架。 如您所見,我正在嘗試從從整個圖像集中獲得的過濾后的圖像集中獲取服務器的最舊圖像。
我是python的新手,我不確定將具有相同值( completeImageSet
)的參數傳遞給將被多次調用的函數( filtered_ImageIds
)的效率如何。
每次調用該函數都會創建一個對象嗎? 如果是這樣,擁有全局變量會更有效嗎?
正如亞當·斯密(Adam Smith)所述,參數是通過對象分配傳遞的,因此,在循環中迭代時,completeImageSet的值不應更改。
您也可以使用列表推導使事情變得簡單。
oldImageList = [oldest_image(filtered_ImageIds(completeImageSet, server)) for server in serverList]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.