博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day12
阅读量:4322 次
发布时间:2019-06-06

本文共 5964 字,大约阅读时间需要 19 分钟。

#复习# def wapper(func):#     def inner(*args,**kwargs):#接受聚合#         set=func(*args,**kwargs)#调用打散#set=func()为接受返回值,不接受返回值#         return set#     return inner## @wapper# def holiday(a):#     '''#     假的,#     都是假的,#     '''#     print('放假%s天'%a)#     return"happy!"# set=holiday(4)#inner的返回值,用ret接收# print(set)#生成器函数#普通函数# def generator():#     print(1)#     return "a"# set=generator()# print(set)#生成器函数 :含有yield的函数(不与return共用,需要写在函数内部)# def generator():#     print(1)#     yield "a"#     print(2)#     yield"b"#     yield'c'# #生成器函数执行之后,生成一个生成器作为返回值# set=generator()#执行后获获得一个生成器# print(set)# print(set.__next__())#执行后获得返回值,然后打印出来# print(set.__next__())# print(set.__next__())# #类似for循环#迭代器函数# def generator():#     for i in range(20):#         yield "wahaha%s"%i# g=generator()#上面是生成器,加上下面就转化成迭代器# count=0# for i in g:#     print(i)#     count +=1#     if count >5:#         break# # print("@@@",g.__next__())#执行下一个,不是从头开始## for i in g:#接着上一个for循环继续#     print(i)#     count +=1#     if count >7:#         break#文件监听# def generator(filename):#     f=open(filename,encoding='utf-8')#     while 1:#         line=f.readline()#         if line:#             yield '*****',line.strip()# generator('file')## f=open('file',encoding='utf-8')# while 1:#     line=f.readline()#     if line:#         print(line)# def generator(filename):#     f=open(filename,encoding='utf-8')#     while 1:#         line=f.readline()#         if line.strip():#             yield line.strip()# g=generator('file')# for i in g:#     if 'python' in i:#         print('****', 'python')## def holiday(a):#     '''#     假的,#     都是假的,#     '''# print(holiday.__name__)# print(holiday.__doc__)#查看函数注释# def wapper(func):#     def inner(*args,**kwargs):#接受聚合#         '''假的,都是假的'''#         set=func(*args,**kwargs)#调用打散#set=func()为接受返回值,不接受返回值#         return set#     return inner## @wapper# def holiday(a):#     print('放假%s天'%a)#     return"happy!"## print(holiday.__name__)# print(holiday.__doc__)#inner的注释# set=holiday(4)#inner的返回值,用ret接收# print(set)#带参数的装饰器# import time# flag=False# def time_out(flag):#     def timmer(func):#         def inner(*args,**kwargs):#             if flag==True:#true则执行#                 start = time.time()#                 set=func(*args,**kwargs)#                 end =time,time()#                 print(end-start)#                 return set#             else:#否则执行这个#                 set = func(*args, **kwargs)#                 return set#         return inner#     return timmer## @time_out(flag)# def run():#     time.sleep(0.1)#     print('sjkaj')## @time_out(flag)# def walk():#     time.sleep(0.1)#     print('jdskdaj')## run()# walk()#多个装饰器装饰一个函数# def wrapper1(func):#     def inner1():#         print('wrapper1 ,before func')#         func()#         print('wrapper1 ,after func')#     return inner1## def wrapper2(func):#     def inner():#         print('wrapper2 ,before func')#         func()#         print('wrapper2 ,after func')#     return inner## @wrapper2 #inner1# @wrapper1 #func# def f():#     print('in f')## f()# # 结果# wrapper2 ,before func#       # wrapper1 ,before func#       # in f#       # wrapper1 ,after func#       # wrapper2 ,after func#记录用户登陆情况和时间# def wrapper1(func):#     def inner1():#         username=input('please input your name:')#         password=input('please input your password:')#         if username=='bts' and password=='130613':#             func()#             print('sucessful!')#         else:#             print('fail!')#     return inner1# # import time# def wrapper2(func):#     def inner():#         func()#         print(time.time())#     return inner# # @wrapper2 #inner1# @wrapper1 #func# def f():#     print('登陆记录')# # f()

  

#作业#1实行一次登陆,以后无需再次登陆# flag=False#全局变量# def login(func):#     def inner(*args,**kwargs):#         global flag#改变全局变量flag,实行一次登陆,以后无需再次登陆#         if flag:#如果flag为true,直接运行修饰器函数#             set = func(*args, **kwargs)#             return set#         else:#             id=input("please input your id")#             password=input('please input your password')#             if id=='bts' and password=='130613':#                 flag=True#登陆成功,改全局变量为true,实现再次登陆直接运行if flag(true):#                 set = func(*args, **kwargs)#                 return set#             else:#                 print('password or id is wrong')#     return inner## @login# def shoplist_add():#     print('add one good')## @login# def shoplist_del():#     print('delete one good')# shoplist_add()#登陆成功# shoplist_del()#无需再次登陆# shoplist_del()#无需再次登陆#修改一次购物车,登陆一次# def login(func):#     def inner(*args,**kwargs):#             id=input("please input your id")#             password=input('please input your password')#             if id=='bts' and password=='130613':#                 set = func(*args, **kwargs)#                 return set#             else:#                 print('password or id is wrong')#     return inner## @login# def shoplist_add():#     print('add one good')## @login# def shoplist_del():#     print('delete one good')# shoplist_add()#登陆成功,运行# shoplist_del()#再次登陆,然后运行#2记录操作过程# def log(func):#     def inner(*args,**kwargs):#         with open('file','a',encoding='utf-8') as f:#             f.write(func.__name__+'\n')#双下划线__#         set = func(*args, **kwargs)#         return set#     return inner# @log# def shoplist_add():#     print('add one good')## @log# def shoplist_del():#     print('delete one good')## shoplist_del()# shoplist_add()#进阶作业# import os# from urllib.request import  urlopen# def cache(func):#     def inner(*args,**kwargs):#         if os.path.getsize('file'):#             with open('file','rb')as f:#                 return f.read()#         set=func(*args,**kwargs)#         with open('file','wb')as f:#             f.write(set)#         return set#     return inner## @cache# def get(url):#     code=urlopen(url).read()#     return code## set=get('https://hao.360.cn/?a1004')# print(set)

  

转载于:https://www.cnblogs.com/chimchim-/p/10123848.html

你可能感兴趣的文章
懒惰的肥兔博文导读
查看>>
[db] mongodb 存取修改简单小实例
查看>>
面试百题003——求子数组的最大和
查看>>
jq.validate 自定义验证两个日期
查看>>
公布一个以前写的随机数生成的方法
查看>>
AtCoder Regular Contest 077 被虐记&题解
查看>>
禁止ios10双指缩放
查看>>
LUOGU P1505 [国家集训队]旅游 (树链剖分+线段树)
查看>>
BZOJ 3509: [CodeChef] COUNTARI(fft+分块)
查看>>
flask源码解读05: Context(AppContext, RequestContext)
查看>>
css实现弹出层显示阻止滚动条滚动
查看>>
ping IP 带时间戳循环显示并写入日志(windos版+linux版)
查看>>
自学MVC看这里——全网最全ASP.NET MVC 教程汇总
查看>>
mediaxyz访谈录:ffmpeg的码率控制
查看>>
CenTOS7使用ACL控制目录权限,只给某个用户访问特定目录
查看>>
七天入门统计力学-第2天 系综与配分函数
查看>>
ubuntu server 10.04 apache2配置多个虚拟主机
查看>>
python标准库xml.etree.ElementTree的bug
查看>>
Tomcat服务器介绍和使用
查看>>
IOS网络方面(异步请求)
查看>>