Python函数

函数基础

自定义函数

#coding:utf-8
'''假设有数据:d={'a':39,'b':40,'c':99,'d':100}
(字典的键值对还可以增加),编写函数,实现对这个字典中的键值对的查询。例如向
函数提供a=1,b=40等参数,查询这些是否为此数据的值
'''
def findkv(dct,**kwargs):
    r={k:v for k,v in kwargs.items() if dct.get(k)==v}
    return r
d={'a':39,'b':40,'c':99,'d':100}
fr=findkv(d,a=1,b=40)
print(fr)
嵌套函数
#coding:utf-8
'''G=mg, g=9.8
'''

def w(m,g):
    return m*g

def wight(g):
    def cal_mg(m):
        return m*g
    return cal_mg
w=wight(10)
G=w(100)
G2=w(50)
print(G,G2)
装饰器
#coding:utf-8
import time
from functools import wraps

def timethis(func):
    @wraps(func)
    def wrapper(*args,**kwargs):
        start=time.time()
        func(*args,**kwargs)
        end=time.time()
        print(func.__name__,end-start)
    return wrapper

@timethis
def countdown(n):
    while n>0:
        n-=1

@timethis
def text_list_append():
    lst=[]
    for i in range(1000000):
        lst.append(i)

@timethis
def text_list_compre():
    [i for i in range(1000000)]

countdown(100000)
countdown(1000000)

text_list_append()
text_list_compre()
特殊函数
def add(x):
    x+=3
    return x
print(add(3))
lam=lambda x:x+3
print(lam(3))#lambda函数 用一行能解决问题的函数

#help(map)
m=map(lambda x:x+3,range(10))
print(m)
print(list(m))#map(func,*iterables) -->map object 将可迭代对象取出一次带入函数,完成函数的计算 返回的是对象,需要查看返回结果 需要转换
lst1=[1,2,3,4,5]
lst2=[2,3,4,5,6]
lst3=[3,4,5,6,7]
a=[x+y+z for x,y,z in zip(lst1,lst2,lst3)]
print(a)
a1=map(lambda x,y,z:x+y+z,lst1,lst2,lst3)
print(list(a1))

#help(filter)
n=range(-5,5)
f=filter(lambda x: x>0,n)#过滤器
print(list(f))
f1=[i for i in n if i>0]
print(f1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值