函数入门
系统内建函数、自定义函数
①内建函数
内建函数是Python中自带的函数,使用时需要引入(import)函数库。
当我们知道只函数名而不知其功能时,可以在交互式命令行使用help(函数名)查看帮助信息。
更多的情况下,当我们想要寻找满足需求的函数时,可以访问网站:
https://docs.python.org/2/library/
查阅相关功能。
这里小提一下类型转换函数(int()、str()等等),它们可以转换字符类型,如
>>> int('123')
123
>>> int(12.34)
12
>>> str(123)
'123'
>>> str(1.23)
'1.23'
与比较函数cmp(x,y),如果 x<y,返回 -1,如果 x==y,返回 0,如果 x>y,返回 1:
>>> cmp(1, 2)
-1
>>> cmp(2, 1)
1
>>> cmp(3, 3)
0
更多的函数还需要在后期开发中不断学习。
②自建函数
在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。
我们以自定义一个求绝对值的 my_abs 函数为例:
def my_abs(x):
if x >= 0:
return x
else:
return -x
如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。
return None可以简写为return。
返回多值
Python的函数支持返回多值,只需在return后将值用逗号隔开即可。这样函数将返回一个Tuple链表包含多值
如
import math
def move(x, y, step, angle):#定义函数
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
>>> x, y = move(100, 100, 60, math.pi / 6)#调用函数得到x,y</strong>
>>> print x, y #打印函数返回的值</strong>
151.961524227 70.0
>>> r = move(100, 100, 60, math.pi / 6)#调用函数得到链表r
>>> print r #打印函数返回的链表
(151.96152422706632, 70.0)
定义默认函数
python对默认函数的定义很像C#中函数的重构,即,一个函数传入值的多少可变
具体实现方法是给可不赋值的变量赋初始值,如
def power(x, n=2): #定义函数
s = 1
while n > 0:
n = n - 1
s = s * x
return s
>>> power(5) </strong>#调用函数
25
定义可变函数
如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:
def fn(*args):
print args
可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:
>>> fn()
()
>>> fn('a')
('a',)
>>> fn('a', 'b')
('a', 'b')
>>> fn('a', 'b', 'c')
('a', 'b', 'c')
可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。