Python函数总结

函数

普通函数:

  • 无参函数:
def func():
    pass
func()
  • 有参函数:

1.普通参数

def func(x,y):
    pass

2.可变参数

def func(*args):
    pass

2.1调用时参数个数可以没有,可以多个,*不能为关键字参数

def func(*args,**kwargs):
    pass

2.2调用时参数个数可以没有,可以多个,**必须为关键字参数

def func(x,*args,**kwargs):
    pass

2.3混合使用,x必须赋值

3.默认值参数:

def func(x,y=2):
    pass
func(x=1,y=3)
  • 返回值:

1.没有返回值:

def func():
    print(1)
x=func() #None

2.有返回值:

def func():
    a,b=1,2
    return a,b

2.1返回多个值时保存到一个列表中

内部函数:

嵌套函数--->闭包--->装饰器

  • 嵌套函数:
def a():
    def b():
        pass
    b()
a()
  • 闭包:
def a():
    def b():
        pass
    return b
f=a()
f()
  • 装饰器:
#单层
def decorate(func):
        def wrapper(*args,**kwargs):
                func(*args,**kwargs):
                    pass
                return wrapper

@decorate
def a():
    pass

@decorate
def b(x,y):
    pass

#多层(靠近装饰,先1再2)
@decorate2
@decorate1
def a():
    pass

#带参数
def outer(a):
    def decorate(func):
        def wrapper(*args,**kwargs):
                func(*args,**kwargs):
                    pass
                return wrapper
        return decorate

@outer(a)
def func(x,y):
    pass
func()

 

  • 变量的作用域:L(local局部)E(encloseing嵌套)G(global全局)B(built-in 内置)

nonlocal  global

globals() locals()

a=1
def a():
    b=2
    def b():
        global a
        nonlocal b
        c=3
        c+=1
        b+=1
        c+=1
        print(a,b,c)
    b()

匿名函数:

def func(a,b):
    s=a+b
    return s
func(1,2)

s=lambda a,b:a+b
s(1,2)

内置函数:

max() min() reduce() map() filter() sorted()....

list1=[{'a':1,'b':2},{'a':2,'b':4},{'a':3,'b':6}]
m=max(list1,key=lambda x:x['a'])

list1=[1,2,3,4,5]
result=map(lambda x:x+1,list1)
print(list(result))
#2,3,4,5,6

reduce()对列表元素进行加减乘除运算
t1=(1,2,3,4)
result=reduce(lambda x,y:x+y,t1,20)
#30

filter()
list1=[1,2,3,4,5]
result=filter(lambda x:x>3,list1)
print(list(result))

def func(list1):
	list2=[]
	for i in list1:
		if i>3:
			list2.append(i)
	return list2

sorted()
list1=[{'a':1,'b':2},{'a':2,'b':4},{'a':3,'b':6}]
list1=sorted(list1,key=lambda x:x['b'],reverse=True)list1=[{'a':1,'b':2},{'a':2,'b':4},{'a':3,'b':6}]
m=max(list1,key=lambda x:x['a'])

list1=[1,2,3,4,5]
result=map(lambda x:x+1,list1)
print(list(result))
#2,3,4,5,6

reduce()对列表元素进行加减乘除运算
t1=(1,2,3,4)
result=reduce(lambda x,y:x+y,t1,20)
#30

filter()
list1=[1,2,3,4,5]
result=filter(lambda x:x>3,list1)
print(list(result))

def func(list1):
	list2=[]
	for i in list1:
		if i>3:
			list2.append(i)
	return list2

sorted()
list1=[{'a':1,'b':2},{'a':2,'b':4},{'a':3,'b':6}]
list1=sorted(list1,key=lambda x:x['b'],reverse=True)

递归函数:(自己调用自己)

def a(n):
    if a==0:
        return 0
    else:
        return n+a(n-1)
a(5)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值