Jython - Funzioni

Una logica di programmazione complessa è suddivisa in uno o più blocchi di istruzioni indipendenti e riutilizzabili chiamati come funzioni. La libreria standard di Python contiene un gran numero di funzioni integrate. Si può anche definire la propria funzione utilizzando ildefparola chiave. Il nome della funzione definito dall'utente è seguito da un blocco di istruzioni che ne forma il corpo, che termina con l'istruzione return.

Una volta definito, può essere richiamato da qualsiasi ambiente un numero qualsiasi di volte. Consideriamo il codice seguente per chiarire il punto.

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

#calling the function
SayHello()

Una funzione può essere progettata per ricevere uno o più parametri / argomenti dall'ambiente chiamante. Durante la chiamata a una tale funzione parametrizzata, è necessario fornire lo stesso numero di parametri con tipi di dati simili utilizzati nella definizione della funzione, altrimenti l'interprete Jython lancia unTypeError eccezione.

Esempio

#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)

Il output sarà il seguente -

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

Dopo aver eseguito i passaggi in esso definiti, la funzione chiamata ritorna nell'ambiente chiamante. Può restituire i dati, se viene menzionata un'espressione davanti alla parola chiave return all'interno della definizione della funzione.

#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

Il seguente output si ottiene se lo script precedente viene eseguito dal prompt di Jython.

area = 200
value returned by function : 200