python之函数基础

python 函数
python函数可以返回多值

>>> def add_dif(x,y,):
    sum=x+y
    dif=x-y
    return sum,dif

>>> a,b=add_dif(2,3)
>>> print a,b
5 -1
>>> r=add_dif(2,3)
>>> print r
(5, -1)

本质来说返回多值的函数其实返回一个元组tuple


递归函数用法

def f(n):
    if n==1:
    return 1
    else:
    return n * f(n - 1)

简单来说,递归的最终依赖于第一个基数,所以在递归函数里处理第一个集元素是非常必要的(个人理解)。


python中函数的默认参数

>>> def f(a,n=2):
    print a**n
>>> f(2)
4
>>> f(2,4)
16
>>> 

n是一个默认参数,如果船参数是没有传将默认为2,如果传入了n的值,传进去的值将覆盖默认参数。
默认参数要放到所有所有传参的后面。


python中可变参数

>>> def fadd(*args):
    sum=0
    if len(args)==0:
        return sum
    for x in args:
        sum=sum+x
    return sum
>>> s=fadd(1,2,3)
>>> print s
6

这里一个最大的秘诀是这个 ‘*’号,他代表传入的参数是不固定的。
其实相当于传入的是一个元组tuple。


高阶函数
基本概念:变量可以指向函数

>>> f=abs  #f指向了abs函数
>>> f(-20)
20
>>> 

高阶函数

>>> def add_abs(x, y, f):
    return f(x)+f(y)

>>> add_abs(2,-3,abs)
5
>>> 

将f参数指向了abs,即变量传参传的是一个函数


python 中一些内置的函数
map函数:
内置高阶函数,传递的 第一个参数是函数,第二个是列表,函数对列表中的每一个元素进行操作,返回新的列表

>>> map(abs,[1,-1,2,-2])
[1, 1, 2, 2]

sorted排序函数

>>> sorted([2,3,5,8,4,6,3])
[2, 3, 3, 4, 5, 6, 8]

这是一个简单的用法,他还可以自己写排序函数传入sorted实现自定义排序函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值