码迷,mamicode.com
首页 > 编程语言 > 详细

python 函数简介之三

时间:2017-01-15 22:55:15      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:each   teacher   style   函数   高阶函数   bsp   运行   value   *args   

1. 非固定个数的实参----参数组,* args ,其结果将以元组的形式呈现出来

def func(*args):
    print(args)
func(1,2,3,4,5)    #第一种调用方式, 多个实参
func(*[1,2,3,4,5])  #第二种调用方式, 将以*[] 的形式调用
#运行结果
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)

2. 固定个数实参,参数组, 二者结合  (a, *args)

def func2(x,*args):
    print(x,args)
func2(a,1,2,3,4)   #扣除固定的形参, 其他实参全归入参数组, 以元组形式列出

#结果
a (1, 2, 3, 4)

3. **kwargs 把实参(key=value)转化为字典的形式

def func3(**kwargs):
    print(kwargs)
    print(kwargs[name])
    print(kwargs[age])
func3(name=Frank,age=26)


#结果:
{name: Frank, age: 26}
Frank
26

4. args, *args , **kwargs

def func5(name,*args,**kwargs):
    print(name,args,kwargs)
func5(Alex,1,3,teacher,age=18,sex=m)

#结果
Alex (1, 3, teacher) {age: 18, sex: m}

5, 高阶函数: 变量可以指向函数, 函数的参数能接受变量, 那么一个函数可以接受另一个函数作为参数

def func(a, b, f):
    return f(a) + f(b)

b= func(1, -1, abs)
print(b)

#结果
2

 

python 函数简介之三

标签:each   teacher   style   函数   高阶函数   bsp   运行   value   *args   

原文地址:http://www.cnblogs.com/frankb/p/6288037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!