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)

**输出** 将如下所示 −

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
广告