复杂的编程逻辑被分解为一个或多个独立且可重用的语句块,称为函数. 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