Jython - Функции

Сложная логика программирования разбивается на один или несколько независимых и многократно используемых блоков операторов, называемых функциями. Стандартная библиотека Python содержит большое количество встроенных функций. Можно также определить свою собственную функцию, используяdefключевое слово. За заданным пользователем именем функции следует блок операторов, образующий ее тело, которое заканчивается оператором return.

После определения его можно вызывать из любой среды любое количество раз. Давайте рассмотрим следующий код, чтобы прояснить эту мысль.

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

#calling the function
SayHello()

Функция может быть разработана для получения одного или нескольких параметров / аргументов от вызывающей среды. При вызове такой параметризованной функции вам необходимо предоставить такое же количество параметров с аналогичными типами данных, используемыми в определении функции, иначе интерпретатор Jython выдаст сообщениеTypeError исключение.

пример

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

В output будет следующим -

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

После выполнения определенных в нем шагов вызываемая функция возвращается в вызывающую среду. Он может вернуть данные, если выражение упомянуто перед ключевым словом return внутри определения функции.

#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

Следующий вывод получается, если указанный выше сценарий выполняется из командной строки Jython.

area = 200
value returned by function : 200