Hi, I have recently been learning python, and coming from a java background there are many new ways of doing things that I am only just getting to grips with.
I wondered if anyone could take a look at a few pieces of code I have written to see if there are any places where I am still using java- esque techniques, and letting me know the appropriate python way of doing things. Here is a node class I wrote for use in graph traversal algorithms: #==== class Node: """ Node models a single piece of connected data. Author: Peter Braden Last Modified : Nov. '07 """ def __init__(self, connections = None, uid = None): """ Args: [connections - a list of (connected node, weight) tuples. ] [uid - an identifier for comparisons.] """ self._connected = [] self._weights = [] if connections: for i in connections: self.connected.append(i[0]) self.weights.append(i[1]) if not uid: self.id = id(self) else: self.id = uid def __eq__(self, other): return self.id == other.id def getConnected(self): return self._connected def getWeights(self): return self._weights def getConnections(self): connections = [] for i in range(len(connected)): connections.append((self._connected[i],self._weight[i])) return connections connected = property(getConnected, None) weights = property (getWeights, None) connections = property(getConnections, None) def addConnection(self, node, weight = 0): self.connected.append(node) self.weights.append(weight) def removeConnection(self, node): i = self._connected.index(node) del self._connected[i] del self._weights[i] #=== Cheers, Peter -- http://mail.python.org/mailman/listinfo/python-list