Jython - Funciones

Una lógica de programación compleja se divide en uno o más bloques de instrucciones independientes y reutilizables llamados funciones. La biblioteca estándar de Python contiene una gran cantidad de funciones integradas. También se puede definir su propia función utilizando eldefpalabra clave. El nombre definido por el usuario de la función va seguido de un bloque de declaraciones que forma su cuerpo, que termina con la declaración de retorno.

Una vez definido, se puede llamar desde cualquier entorno tantas veces como desee. Consideremos el siguiente código para aclarar el punto.

#definition of function
defSayHello():
   "optional documentation string"
   print "Hello World"
   return

#calling the function
SayHello()

Una función puede diseñarse para recibir uno o más parámetros / argumentos del entorno de llamada. Al llamar a una función parametrizada de este tipo, debe proporcionar la misma cantidad de parámetros con tipos de datos similares utilizados en la definición de la función; de lo contrario, el intérprete de Jython arroja unTypeError excepción.

Ejemplo

#defining function with two arguments
def area(l,b):
   area = l*b
   print "area = ",area
   return

#calling function
length = 10
breadth = 20
#with two arguments. This is OK
area(length, breadth)
#only one argument provided. This will throw TypeError
area(length)

los output será como sigue -

area = 200
Traceback (most recent call last):
   File "area.py", line 11, in <module>
   area(length)
TypeError: area() takes exactly 2 arguments (1 given)

Después de realizar los pasos definidos en él, la función llamada vuelve al entorno de llamada. Puede devolver los datos, si se menciona una expresión delante de la palabra clave return dentro de la definición de la función.

#defining function
def area(l,b):
   area = l*b
   print "area = ",area
   return area

#calling function
length = 10
breadth = 20
#calling function and obtaining its reurned value
result = area(length, breadth)
print "value returned by function : ", result

La siguiente salida se obtiene si el script anterior se ejecuta desde el indicador de Jython.

area = 200
value returned by function : 200