一、函数定义
在python中,定义一个函数要使用
def
语句,依次写出函数名、括号、括号中的参数和冒号:
,然后,在缩进块中编写函数体,函数的返回值用return
语句返回。
def <函数名> (<形参表>):
<函数体>
注意:
- 函数名可以是任何有效的Python标识符;
- 参数列表是调用该函数时传递给它的值,可以由多个、一个或零个参数组成,当有多个参数时各个参数由逗号分隔;
- 圆括号必不可少,即使没有参数也不能少;
- 函数体是函数每次被调用时执行的代码,可以由一个语句或者多个语句组成,函数体一定要进行缩进。
- 函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。如果没有return 语句,函数执行完毕后也会返回结果,只是返回值为None。(return None可以简写为return)
二、函数调用
要调用一个函数,需要知道函数的名称和参数;
在调用函数时需要注意参数个数和参数类型。
三、自定义函数
自定义函数的方法与前面的“函数定义”方法一致;
3.1 空函数
如果想定义一个什么事都不做 的空函数,可以用pass语句:
def nop()
pass
pass
可以用来作为占位符,比如现在还没想好怎么写函数的代码,可以先放一个pass,让代码能运行起来。pass还可以用在其他语句里,比如:
if age>= 18:
pass
四、函数返回多个值
函数可以返回多个值,比如在 游戏中经常需要从一点 移动到另一点,给出坐标、位移和角度,就可以计算出新的坐标:
import math
def move(x,y,step,angel=0):
nx = x+step*math.cos(angle)
ny = y-step*math.sin(angle)
return x,y
这样就可以同时获得多个返回值:
>>> x,y = move(100,100,60,math.pi/6)
>>> print x,y
151.961524227 70.0
但其实这只是一种假象,Python 函数返回的仍然是单一值:
>>> r = move(100,100,60,math.pi/6)
>>> print r
(151.961524227 70.0)
原来返回值是一个tuple,但在语法上,返回一个tuple可以省略括号,而多个变量 可以同时接收一个tuple,按位置赋给对应 的值,所以Python的函数返回多个值其实 就是返回一个tuple,但 写起来更方便。
参考文献
【1】廖雪峰python官方网站–函数
【2】王仁斌:Python与数据科学【B】