【发布时间】:2019-05-07 11:55:46
【问题描述】:
我用 python 测试int Mediator pattern 但是当我用 lambda 测试方法时,我不知道为什么返回 None
def requestPositions(self):
return list(map(lambda airplane: airplane.position, self.airplanes))
这都是模式。
我想念返回 onrequestPositions 方法
class TrafficTower:
def __init__(self):
self.airplanes = []
def requestPositions(self):
return list(map(lambda airplane: airplane.position, self.airplanes))
class Airplane:
def __init__(self, position, trafficTower):
self.position = position
self.trafficTower = trafficTower
self.trafficTower.airplanes.append(self)
def requestPositions(self):
return self.trafficTower.requestPositions()
def main():
airplane = Airplane(10, TrafficTower())
#FIX why don't return list
print(airplane.requestPositions())
if __name__ == "__main__":
main()
【问题讨论】:
-
FWIW,
Airplane可能无法控制将自己插入TrafficTower。 -
标记为 [python-2.7] 但使用 python 3 的打印功能?
-
执行相同的 ``` $ python2.7 Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0] on linux2 键入“help”、“copyright” 、“学分”或“许可”以获取更多信息。 >>> 打印([2])[2] >>> 打印 [2] [2] >>>
标签: python python-2.7 design-patterns