On 8/25/2010 9:56 AM Daniel said...
Hello again, seems like in my journey to learn Python I have stumbled into
another problem regarding understanding a concept- function object. As I
said, I do not understand what a function object is, what it does, and what
can I do with it? I'm currently reading Think python, but the book is not
clear for me. Python is my first programming language.
Please, can you give me some examples and if it is possible can you explain
in a more beginner orientated way?
Generally speaking, everything in python is an object. As such, objects
have methods and attributes. At a certain level for certain projects,
manipulating code objects helps solve problems.
Here's a simple example.
ActivePython 2.6.1.1 (ActiveState Software Inc.) based on
Python 2.6.1 (r261:67515, Dec 5 2008, 13:58:38) [MSC v.1500 32 bit
(Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def test(ii): print "my name is %s" % ii.func_name
...
>>> def test1(ii): print "my name is %s" % ii.func_name
...
>>> def test2(ii): print "double ii is %s-%s" % (ii,ii)
...
>>> for funcobj in (test1,test2): funcobj('spam')
...
single ii is spam
double ii is spam-spam
>>>for funcobj in (test1,test2): test(funcobj)
...
my name is test1
my name is test2
Once defined, code is an object. try dir(test) on the above.
HTH,
Emile
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor