函数def

函数注释以及函数注释的输出

def a(name,**kwargs):
    '''
    这里是注释
    :param name: name
    :param kwargs:
    :return:
    '''
    print(f'name:{name},kwargs :{kwargs}')
    print(type(kwargs))
#输出函数注释
print(a.__doc__)

这里是注释
:param name: name
:param kwargs:
:return:

不限定传入的值

  1. **kwargs:必须以字典方式传入
def a(name,**kwargs):
    print(f'name:{name},kwargs = {kwargs}')
    print(type(kwargs))

a(name = 'zhang',p ='f')

name:zhang,kwargs ={‘p’: ‘f’}
<class ‘dict’>

2.*args : 元组

def a(name,*args):
    print(f'name:{name},args = {args}')
    print(type(args))
a('zhang','f')

name:zhang,args = (‘f’,)
<class ‘tuple’>

3.组合使用

def a(name,*args,**kwargs):
    print(f'name:{name},args;{args},kwargs:{kwargs}')

a('haha',1,2,3,{'k':'v'},k2='v2')

name:haha, args;(1, 2, 3, {‘k’: ‘v’}), kwargs:{‘k2’: ‘v2’}

匿名函数

  1. lambda :
    使用方法:lambda a,b:a+b
a = ['q','w','e']
b = [1,2,3]
c = lambda x,y:x+y
print(c(a,b))

传入的参数返回的结果
[‘q’, ‘w’, ‘e’, 1, 2, 3]

判断函数是否被调用

  • callable(函数名)

高阶函数

  1. map():传入一个函数和一个序列,将函数作用于每一个序列
b = [1,2,3]
c = map(lambda a:a+2,b)
print(c)

<map object at 0x0159C490>
可通过强转输出想要的序列
例:list©

  1. reduce(f,d)
    reduce()函数是将一个函数作用在一个序列上,这个函数必须接受两个参数,reduce将结果继续与下一个元素结合
from functools import reduce
b = [1,2,3]
c = reduce(lambda a,b:a+b,b)
print(c)
  1. filter():接受一个布尔值返回值的函数,将该规则依次作用于系列的每一个元素,根据返回值的true或者false ,决定该元素是否保留
b = [1,2,3]
def TorF(i):
    if i > 2:
        return True
    else:
        return False

c = filter(TorF,b)
print(list(c))

[3]

capitalize()与title() 区别

str = 'abc def hui'
print(str.capitalize())
print(str.title())

Abc def hui
Abc Def Hui
由此可见 capitalize()是将第一个字母大写
title()是将所有单词首字母大写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值