Python勉強_04

Python_04_20200214


变更履历

日期版本内容作者备注
2020/02/14v1.00初版做成author偷懒第一天

装饰器

Decorator
定义:本质是函数
原则:不能修改被装饰函数的源代码
不能修改被装饰函数的调用方式

import time
#装饰内容
def func2(func):
 def func3(*args,**kwargs):
  start_time=time.time()
  res=func(*args,**kwargs)
  return res
  stop_time=time.time()
  print("run time is %s" %(stop_time-start_time))
 return func3
@func2#装饰器
def func1():
 print("function start!")
 time.sleep(2)
#执行装饰后的函数
func1()

@func2(farg=“aaa”)带参数装饰器
需要在装饰方法中在嵌套一层

生成器,迭代器

generator生成器
只有在调用时才会生成相应的数据,类似于hasnext()

#只有一个__next__()方法
2*i for i in range(10)
#斐波那契数列

a,b=b,a+b
#奇怪的赋值语句
t=(b,a+b)
a=t[0]
b=t[1]
*******
def fib(max):
 n,a,b=0,0,1
 while n<max
  yield b#中断位置
  a,b=b,a+b
  n=n+1
 return "end!"
#给生成器传值
c.send(arg)

Iterator迭代器
可用for循环便利的对象成为可迭代
可用被next函数调用并不断返回的对象是迭代器

生成器一定是迭代器
列表是可迭代的,但不是迭代器
可用iter转换

it=iter([1,2,3,4,5,6,7,8,9])

json序列化

json用于不同语言间的转换处理
正在逐步取代Xml

import json
json.dumps(info)#序列化,只能处理简单的
json.loads(f.read)#反序列化
import pickle#同上,需要二进制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值