At 04:32 PM 4/16/01 +0000, Remco Gerlich wrote: >Fernando RodrÃguez <spamers at must.die> wrote in comp.lang.python: > > I have a class called ParaStyle (see code below). This class has a > > method called makeBlackAndWhite that returns a new instance of class > > ParaStyle. > >In the first case you call a method on a class. That's not possible. > >The second case, since the list contains *instances*, everything is ok. You >call the method on the instance. What are you talking about? Calling unbound methods with instance as first argument is not just legal, it's moral! class Foo: def method(self): return self f = Foo() Foo.method(f) # succeeds l = [] for i in range(100): l.append(Foo()) map(Foo.method, l) # also succeeds, with flying colors I asked Fernando (privately) whether his BaseObject base class was doing metaclass weirdness. It's either metaclass weirdness, or that paraStyles actually contains a non-instance-of-ParaStyle, that could cause his problem. -- Robin Thomas Engineering StarMedia Network, Inc. robin.thomas at starmedia.net
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4