[EMAIL PROTECTED] schrieb: >> cnt = 1 >> def foo(): >> global cnt >> cnt += 1 >> return cnt >> >> def bar(x=foo()): >> print x >> >> bar() # 2 >> bar() # 2 >> bar() # 2 > > Looks to me like you want to use the following programming pattern to > get dynamic default arguments: > > cnt = 1 > def foo(): > global cnt > cnt += 1 > return cnt > > def bar(x=None): > if x is None: > x = foo() > print x > > bar() # 2 > bar() # 3 > bar() # 4
yes, I haven't thought of that nowI changed my class to class Graph: settings = { "NumNodes" : 10, "MinNodes" : 2, "MaxNodes" : 5 } def randomizeEdges(self, lowhigh = (settings["MinNodes"], settings["MaxNodes"])): low, high = lowhigh for node in self.nodes: x = random.randint(low, high) # link the nodes maybe the only minor point is that no relationship can be expressed settings = { "NumNode" : 10, "MinNode" : settings["NumNode"] / 2, "MaxNode" : settings["NumNode"] } but I think the solution is nevertheless ok Regards, Daniel -- http://mail.python.org/mailman/listinfo/python-list