python基础知识---抽象--函数

创建函数的一般形式

def function_name(parameters):
     function_body

  1. 参数值传递:引用?传值?
  2. 收集参数
  3. map,filter,reduce
     1.
    针对第一条,我们可以参考如下文章
    参数值传递:引用?传值?
    2. 如果不知道用户要输入多少参数,我们可以用*号来将 的参数全部收集起来,如下例
In [1]: def test(*para):
   ...:     return para

In [2]: test('abc')
Out[2]: ('abc',)

In [3]: test('abc','bcv')
Out[3]: ('abc', 'bcv')

可以看到*号的作用是将括号中的剩余参数收集起来,形成了一个元组。
如果需要收集关键词参数,我们可以用**号,见下例

In [4]: def test2(**para):
   ...:     return para

In [5]: test2(a=1,b=3,c=4)
Out[5]: {'a': 1, 'b': 3, 'c': 4}

可以看到,**将关键词参数收集成一个字典形式。这和字典的生成方式有些相似.
map,filter,reduce map函数将序列中的元素全部传给一个指定的函数。filter函数可以基于一个返回布尔值的函数来对元素进行过滤。reduce函数将序列中的前两个元素传给一个指定的函数,然后将结果和第三个元素传给相同的函数,循环进行。

#map
In [13]: map(str,[1,2,3,4])
Out[13]: ['1', '2', '3', '4']
#filter
In [31]: def test(string):
    ...:     return string.islower()
    ...: 
    ...: filter(test,['abc','VVVVV'])
Out[31]: ['abc']
#reduce
In [34]: 
    ...: def test(string1,string2):
    ...:     return string1+string2
    ...: reduce(test,['1+','2+','3'])

Out[34]: '1+2+3'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值