python学习笔记(二)之函数

函数是高级程序语言设计不可缺少的一部分,现在就来看看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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值