字典推导式:

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)

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

最新文章

  1. Tomcat容器虚拟路径设置
  2. c#三层架构登陆实例
  3. sklearn
  4. iOS定位 - 普通定位(没有地图) - 反地理编码(得到具体位置)
  5. cocos2d-x 3.0环境搭建
  6. Eclipse不能自动编译 java文件的解决方案
  7. js初学必知三重点
  8. XtraReport交叉表自适应行高及最佳列宽
  9. 构建maven的web项目时注意的问题
  10. vmware虚拟机的克隆
  11. 搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程----转载
  12. LeetCode(36)- Implement Stack using Queues
  13. Angular6 项目开发常用时间组件服务
  14. UNIX高级环境编程(14)文件IO - O_DIRECT和O_SYNC详解 < 海棠花溪 >
  15. Android SDK 环境搭建
  16. Toast的用法(可以设置显示时间,自定义布局的,线程中的Toast)
  17. 动态装载外部JavaScript脚本文件
  18. 《转》python学习(6)序列类型-字符串
  19. jqGrid使用json实现的范例一
  20. 记一次 FastAdmin CMS 内容提示空的问题

热门文章

  1. HCNP Routing&Switching之DHCP安全
  2. sys.path的使用场景
  3. File类、FileOutputStream
  4. 利用c++编写bp神经网络实现手写数字识别详解
  5. Django 之路由层
  6. Elasticsearch:Elasticsearch SQL介绍及实例 (一)
  7. krew插件安装
  8. useContext 解决函数父子组件传值
  9. Linux 宝塔部署 ASP.NET Core 应用
  10. 使用 Windows 包管理器 (winget) 安装 .Net