これが、探している Python クラスです。それは非常に簡単なので、あなたが初心者であり、学びたいと言うなら、コードを読んで理解してください。
機能を示すために、いくつかの行の例が下部に示されています。複数のラックの場合は、Rack() のリストを作成するだけです。幸運を。
class Rack():
def __init__(self, name):
self.name = name
self.modules = dict()
# port_cable_list should be in the form:
# [(1, #1992), (2, #1993), (3, #1567)]
def add_module(self, name, port_cable_list):
self.modules[name] = dict()
for port, cable in port_cable_list:
self.modules[name][port] = cable
def remove_module(self, name):
if name in self.modules:
del self.modules[name]
def add_port(self, module_name, port, cable):
if module_name not in self.modules:
self.modules[module_name][port] = cable
return True
return False
def remove_port(self, module_name, port):
if module_name in self.modules:
if port in self.modules[module_name]:
del self.modules[module_name][port]
return True
else:
return False
return False
def module_exists(self, module_name):
return module_name in self.modules
def port_exists_in_module(self, module_name, port):
if self.modules[module_name]:
return port in self.modules[module_name]
return False
def print_module(self, module_name):
if self.module_exists(module_name):
print "%s\nPort\tCable" % (module_name)
for port, cable in self.modules[module_name].items():
print port, "\t", cable
print
return True
return False
def print_rack(self):
print self.name + ':'
for module_name in self.modules.keys():
self.print_module(module_name)
SomeRack = Rack('04/02')
SomeRack.add_module("MM02", [(1, '#1992'), (2, '#1993'), (3, '#1567')])
SomeRack.add_module("MM03", [(1, '#1234')])
SomeRack.print_module("MM03")
SomeRack.print_rack()
SomeRack.remove_module("MM03")
print SomeRack.module_exists("MM03")
SomeRack.print_rack()