[英]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.