<[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> Hi
>
> I wonder if Python is capable of the following: define a function which
> returns its argument.
> I mean:
> def magic_function(arg):
>        ...... some magic code ...
>
> that behaves the following way:
>
> assert magic_function(3+4)=="3+4"
> assert magic_function([i for i in range(10)])=="i for i in range(10)]"

The arguments to Python functions are Python objects.  In order to return 
the argument as a string, you must pass it as a string.

>>> def magic(s): return s, eval(s)

>>> magic('3+4')
('3+4', 7)
>>> magic('[i**2 for i in [1,2,3]]')
('[i**2 for i in [1,2,3]]', [1, 4, 9])

Terry Jan Reedy



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to