一、函数的定义

python函数的定义时主要有以三个要点:

  • 在Python中采用def关键字进行函数的定义,不用指定返回值的类型。
  • 函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类型。
  • return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此结束;如果没有return语句,会自动返回NONE,如果有return语句,但是return后面没有接表达式或者值的话也是返回NONE。

语法结构为:

1def function(params):
2    block
3    return expression/value

具体示例如下:

 1def printHello():
 2    print 'hello'
 3def printNum():
 4    for i in range(0,10):
 5        print i
 6    return
 7def add(a,b):
 8    return a+b
 9print printHello()
10print printNum()
11print add(1,2)

二、python函数的特点

在定义了函数之后,就可以使用该函数了,需要注意的是Python中不允许前向引用,即在函数定义之前,不允许调用该函数。还是上面的示例:

1print add(1,2)
2def add(a,b):
3    return a+b

如果按上面的样式执行就会报错,具体报错结果如下:

1Traceback (most recent call last):
2  File "aa.py", line 2, in <module>
3    add(1,2)
4NameError: name 'add' is not defined
5yang@crunchbang:~$

报错内容也说明的比较清楚了,即add没有定义,所以该函数不能调用。虽然我们在其后做了定义,这是不同于其他语言的一大特点 —— 只允许后向调用,即顺序引用。