我正在一个大型代码库中重构一个python函数。目前看来:
def GetEvents(file_path):
...
return events #a list of Event objects
一堆代码依赖于这个函数返回一个列表对象。但是,我想重构它,以便它返回:
def GetEvents(file_path):
...
return (events, event_header)
其中event_header是对这组事件的一点描述。但是,这将严重破坏当前期望返回列表而不是元组的所有代码。在任何其他语言中,我都会通过引用传递event_头,但我不认为我可以在Python中这样做。我还可以声明另一个函数GetEventsAndHeader(),但这与功能有着尴尬的重复。
建议?
最佳答案
如果不需要返回元组,只需向返回的列表中添加一个属性:
class EventList(list):
pass
def GetEvents(file_path):
...
events = EventList(events)
events.event_header = some_header
return events
关于python - 重构python函数以返回元组而不是单个变量的最佳实践?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18000918/