函数定义
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
小试牛刀
def myprint(str):
"打印传入的字符串到标准显示设备上"
print str
myprint("abc")
参数
因为python中的变量没有明确标明类型,所以函数中可以直接使用一个变量名来接收。
参数的种类也很丰富
可以使用的参数包括:
·必备参数
·关键字参数
·默认参数
·不定长参数
必备参数
很好理解:没有此参数,函数无法完成功能
关键字参数
关键字参数指我们可以不关键参数的顺序,赋值操作直接放在函数的括号内直接进行。
看例子一目了然
def myprint(name,age):
print name+":"+str(age)
myprint(age=18,name="liu")
#打印结果:
liu:18
默认参数
这个也比较好理解,php中也有类似的传参方式,即参数会有一个默认的值,不传参时就会使用此值。
直接上例子:
def myprint(name,age=18):
print name+":"+str(age)
myprint("liu")
#运行结果:
liu:18
可以看到,不传年龄,默认就是18岁,只要不告诉别人多少岁,永远18
不定长参数
这个类型在java中也有使用过,如
public void print(int a, int...score)这种形式,在方法内部会被转为int类型的score数组。
在python中,我们看下例子吧:
def myprint(name,*score):
print "name="+name
for s in score:
print s
myprint("liu",99,89,92)
#运行结果:
name=liu
99
89
92
恩,就是上面的结果,很明显,这是我的数理化成绩。
匿名函数
匿名函数的定义,直接上代码吧:
sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
匿名函数作为参数传入别的函数或者方法内:
我们在js中常会把一段代码传给一个方法参数,让它执行这段代码。匿名函数同样地,也可以作为参数传给别的函数,让它的内部操作动态化。
上代码吧:
def myprint(math,lang,opration):
print opration(math,lang)
myprint(99,88,lambda a,b :a+b)
myprint(99,88,lambda a,b :(a+b)/2)
#我想要实现一个打印分数的功能,但是我们现在准备了一个方法,不确定将来是用来打印平均值还是总和,我们就使用匿名函数,把操作传入函数,这样实现一个匿名函数来封装操作的功能。(实用功能)
return语名
python的函数都有一个返回值,不带return 的默认返回None
内置函数
python给我们提供了一些内置函数,我 们可以去使用,这里引用三方网站的一个列表:
内置函数参考
网友评论