您的位置:首页 > 编程语言 > Python开发

python学习笔记(二)之函数

2014-07-31 14:56 218 查看
函数是高级程序语言设计不可缺少的一部分,现在就来看看python中的函数。

一、函数的调用:

首先,python中有很多内置函数,可以供我们直接调用。(详细参见:https://docs.python.org/2/library/functions.html#abs)

如果想知道一个内置函数的使用方法,可以在交互环境中使用help()来查看。例如:

>>>> help(abs)
Help on built-in function abs in module __builtin__:

abs(...)
abs(number) -> number

Return the absolute value of the argument.
调用一个函数,需要注意两点——函数的名称和参数(包括参数的数量,类型等)

二、函数的定义:

python中使用def语句进行函数的定义,下面就是一个打印1的函数:

def f1():
print 1;
f1()
而对于参数的定义与调用,下面这个例子可以清楚的看到:
def f2(a):
print a;
f2(1)
f2("abc")
输出为1和abc。

这就有点类似于java语言的重载,但是在java中的重载十分复杂而且啰嗦,要写很多的同名函数来实现重载的特点,而在python中则非常简约!

简约的代码一直是python所追求的,记住,是简约而不是简单!

多个参数的传递则还要啊注意参数的顺序:

def f3(a=1,b=2,c=3):
print "a =%d"%a,"b =%d"%b,"c =%d"%c
f3(4,5,6)
f3(4)
f3(4,5)
得到输出为:
a =4 b =5 c =6
a =4 b =2 c =3
a =4 b =5 c =3
如果a要默认等于1,则可以这样赋值:
def f3(a=1,b=2,c=3):
print "a =%d"%a,"b =%d"%b,"c =%d"%c
f3(b=5,c=6)
f3(b=5)
输出:
a =1 b =5 c =6
a =1 b =5 c =3

而怎样修改自定义函数,才能在help()的时候查看到该函数的文档呢?那就是用前面提到的三引号来进行注释。例如:

>>>> def f3(a=1,b=2,c=3):
...     """ this is f3"""
...     print "a =%d"%a,"b =%d"%b,"c =%d"%c
...     f3(b=5,c=6)
...     f3(b=5)
...
>>> help(f3)
Help on function f3 in module __main__:

f3(a=1, b=2, c=3)
this is f3
定义函数需要有返回值的情况,也是用return来返回。例如修改上面的f3()后得到:
def f3(a=1,b=2,c=3):
print "a =%d"%a,"b =%d"%b,"c =%d"%c
return a
print f3(a=4,b=5,c=6)
输出:

a =4 b =5 c =6
4


最后,python中也可以定义空函数,可以用pass语句。pass语句什么都不做,往往在程序编写的时候用做占位符,还未想好怎么写的函数先用pass进行占位。

拓展资料:闭包的概念在很多语言中都有涉及,python中也有闭包的概念,通常在函数式编程中使用。

那么,什么是闭包,什么是函数式编程呢?

参见两篇文章:

大名鼎鼎的函数式编程初探:http://www.ruanyifeng.com/blog/2012/04/functional_programming.html

闭包的讲解:http://blog.csdn.net/marty_fu/article/details/7679297
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: