字典推导式:

data_list = ['1 hello','2 world']
result = {item.split(" ")[0]: item.split(" ")[1] for item in data_list }
print(result)
data = 'wd=搜狗&rsv_spt=1&rsv_iqid=0xd787ab5d00049167&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_dl=tb&rsv_sug3=7&rsv_sug1=6&rsv_sug7=101&rsv_sug2=0&rsv_btype=i&inputT=1988&rsv_sug4=2956'
res_list=data.split("&")
res_dic = {item.split('=')[0]:item.split("=")[1] for item in data.split("&")}
print(res_dic)
'''
字典转化为string
'''
params = {'wd': '搜狗', 'rsv_spt': '1', 'rsv_iqid': '0xd787ab5d00049167', 'issp': '1', 'f': '8', 'rsv_bp': '1', 'rsv_idx': '2', 'ie': 'utf-8',
       'tn': 'baiduhome_pg', 'rsv_enter': '1', 'rsv_dl': 'tb', 'rsv_sug3': '7',
       'rsv_sug1': '6', 'rsv_sug7': '101', 'rsv_sug2': '0', 'rsv_btype': 'i',
       'inputT': '1988', 'rsv_sug4': '2956'}

li = []
for key,value in params.items():
   # str=key+"="+value  #相加效率低
   str = "{}={}".format(key,value)
   li.append(str)
res = "&".join(li)
print(res)

res = "&".join(["{}={}".format(key,value) for key,value in params.items()])
#集合推导式
data = {i for i in range(10)}
print(data)

闭包:函数嵌套函数,掉用外面函数 不想立即执行内容,在该函数内嵌套函数,让内部函数工作,可以在内部封装自己想要的东西

def outer(name):
    def inner():
        msg = "{}".format(name)
        print(msg)
    return inner

v = outer("Jack")
v2 = outer("Lily")

v()
v2()

线程池:

装饰器:在不改变函数的基础上 想在函数执行前后定制功能

def outer(a1):
    def inner():
        a1()
    return inner

def x():
    print("xx")

res = outer(x)
res()
@outer
def plus(v1):
    return  v1

res = plus(1)
print(res)

def outer(func):
    def inner(*args,**kwargs):
        return func(*args,**kwargs)
    return inner

@outer
def plus(v1):
    return  v1

res = plus(1)
print(res)
"""计算一个函数的执行时间"""
import time

def coast(arg):
    def inner():
        start = time.time()
        res = arg()
        end = time.time()
        print(end - start)
        return res

    return inner
@coast
def func():
    data = 0
    for i in range(10000000000):
        data += i
    return data
func()

 

def repeat_func(arg):
    def inner():
        result = 0
        for i in range(5):
            res = arg()
            result += res

        return result
    return inner

@repeat_func
def f1():
    return 123

t = f1()
print(t)
def outer(args):
    def inner(a1,a2):
        return args(a1,a2)
    return inner

@outer
def plus(v1,v2):
    return  v1+v2

res = plus(1,3)
print(res)

def outer(args):
    def inner(a1):
        return args(a1)
    return inner

@outer
def plus(v1):
    return  v1

res = plus(1)
print(res)

def outer(func):
    def inner(*args,**kwargs):
        return func(*args,**kwargs)
    return inner

@outer
def plus(v1):
    return  v1

res = plus(1)
print(res)
"""
带参数的装饰器
"""
def tt(count):
    def outer(func):
        def inner(*args,**kwargs):
            r = 0
            for i in range(count):
                res = func(*args,**kwargs)
                r += res
            return r
        return inner
    return outer

@tt(5)
def f(x):
    return x

res = f(100)
print(res)

传统的装饰器是由两层嵌套,带参数的装饰器是三层。

原文地址:http://www.cnblogs.com/W505020235/p/16875270.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性