|   | 1 |  initial version  | 
The normal way to define a function in Sagemath is exactly the same as in Python :
sage: def myplot1(r):
....:     return plot(x^r, (x, -1,1))
....:
Using the lambda syntax is a shortcut fulfilling the same goal for functions returning the result of the expression of a single Python (Sage) expression :
sage: myplot2 = lambda r: plot(x^r, (x, -1, 1))
An important Sage-specific way to define symbolic functions (a. k. a. callable symbolic expressions) can be used to define functions taking symbolic arguments and returning symbolic expressions :
sympsimp(x) = x._sympy_().simplify()._sage_()
Other, more exotic ways of defining functions include :
Cython (Python code +°optional type declarations, compiled to C code) ;
C/Fortran library code with interface to the Python interpreter.
But these ways need more work and are more useful for library/package development or Sage extension.
 Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.
 
                
                Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.