Help understanding code
Bruno Desthuilliers
bdesth.quelquechose at free.quelquepart.fr
Mon Apr 11 15:45:01 EDT 2005
elbertlev at hotmail.com a écrit :
> Reading the language tututorial would help you a lot :(
>
> === what is the difference between pc and pc()?
>
> pc = getToolByName(....) - returnes a refference to a method
Nope.
> pc is a refference to a method,
>
Nope.
pc is not 'a reference to a method', it's a callable object (in this
case a ZCatalog instance...)....
> pc() is a method invocation.
In this case, it happens to be a call to a method of ZCatalog, but it
could have been a call to a named or anonymous function as well...
<op>
In Python, functions and methods are objects too, so you can use them
like any other object :
def fun():
print "hello world"
machin = fun
machin()
>> hello world
But objects can be used like functions too, if they define a __call__
method:
class fakeFun(object):
def __init__(self, name):
self.name = name
def __call__(self):
return "hello, I'm %s" % self.name
f= fakeFun('foo')
f()
>> hello, I'm foo
</op>
HTH
Bruno
More information about the Python-list
mailing list