Jython - Funções
Uma lógica de programação complexa é dividida em um ou mais blocos de instruções independentes e reutilizáveis chamados de funções. A biblioteca padrão do Python contém um grande número de funções integradas. Também se pode definir sua própria função usando odefpalavra-chave. O nome da função definido pelo usuário é seguido por um bloco de instruções que forma seu corpo, que termina com a instrução return.
Uma vez definido, ele pode ser chamado de qualquer ambiente qualquer número de vezes. Vamos considerar o código a seguir para deixar o ponto claro.
#definition of function
defSayHello():
"optional documentation string"
print "Hello World"
return
#calling the function
SayHello()
Uma função pode ser projetada para receber um ou mais parâmetros / argumentos do ambiente de chamada. Ao chamar essa função parametrizada, você precisa fornecer o mesmo número de parâmetros com tipos de dados semelhantes usados na definição da função, caso contrário, o interpretador Jython emitirá umTypeError exceção.
Exemplo
#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)
o output será o seguinte -
area = 200
Traceback (most recent call last):
File "area.py", line 11, in <module>
area(length)
TypeError: area() takes exactly 2 arguments (1 given)
Após realizar as etapas nele definidas, a função chamada retorna ao ambiente de chamada. Ele pode retornar os dados, se uma expressão for mencionada na frente da palavra-chave return dentro da definição da função.
#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
A saída a seguir é obtida se o script acima for executado no prompt Jython.
area = 200
value returned by function : 200