作业:

# 1、编写课上讲解的有参装饰器准备明天默写
def auth(file_type):
def outer(func):
def inter(*args,**kwargs):
if file_type == "file":
res = func(*args,**kwargs)
return res
elif file_type == "mysql":
res = func(*args,**kwargs)
return res
return inter
return outer # 2:还记得我们用函数对象的概念,制作一个函数字典的操作吗,来来来,
# 我们有更高大上的做法,在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典的操作
op_dict = {} def add_op(key_dic):
def outer(func):
def wrapper(*args,**kwargs):
op_dict[key_dic] = func,func.__doc__
res = func(*args,**kwargs)
return res
return wrapper
return outer @add_op("1")
def withdraw():
"""取款"""
print("取款") print(withdraw) withdraw()
print(op_dict)
# 3、 编写日志装饰器,实现功能如:一旦函数f1执行,则将消息2017-07-21 11:12:11 f1 run写入到日志文件中,日志文件路径可以指定
# 注意:时间格式的获取
# import time
# time.strftime('%Y-%m-%d %X')
import time def add_log(file_load):
def outer(func):
def wrapper(*args,**kwargs):
start_time = time.strftime('%Y-%m-%d %X')
msg = f"{start_time} {func} run\n"
with open(file_load,"a",encoding="utf-8") as f:
f.write(msg)
res = func(*args,**kwargs)
return res
return wrapper
return outer # 4、基于迭代器的方式,用while循环迭代取值字符串、列表、元组、字典、集合、文件对象 # 字符串
s = "字符串"
s_iter = s.__iter__()
while True:
try:
print(s_iter.__next__())
except StopIteration:
break # 列表
l = [1,2,3,4,4]
l_iter = l.__iter__()
while True:
try:
print(l_iter.__next__())
except StopIteration:
break # 元祖
t = ("q","w","e","r","d","f")
t_iter = t.__iter__()
while True:
try:
print(t_iter.__next__())
except StopIteration:
break # 字典
d = {"1":1,"2":2}
d_iter = d.__iter__()
while True:
try:
print(d_iter.__next__())
except StopIteration:
break # 集合
se = {1,2,3,4}
se_iter = se.__iter__() while True:
try:
print(se_iter.__next__())
except StopIteration:
break # 文件对象 with open("a.txt") as f:
while True:
try:
print(f.__next__())
except StopIteration:
break # 5、自定义迭代器实现range功能
def range(start,stop,step=1):
while start < stop:
yield start
start += step a = range(1,5,3)
print(next(a))
print(next(a))
print(next(a))

day18作业的更多相关文章

  1. 老男孩Day18作业:后台用户管理

    一.作业需求: 1.用户组的增删改查 2.用户增删该查 - 添加必须是对话框 - 删除必须是对话框 - 修改,必须显示默认值 3.比较好看的页面 二.博客地址:https://www.cnblogs. ...

  2. python day18 作业 Django 开发主机管理系统

    http://www.cnblogs.com/liang2580/p/9248803.html

  3. Day18作业及默写

    人狗大战 #!/usr/bin/env python # encoding: utf-8 # Author: MeiMeiLong <2559184081@qq.com> # Create ...

  4. day18 作业

    目录 1.编写课上讲解的有参装饰器准备明天默写 2.在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典的操作 3.编写日志装饰器,实现功能如:一旦函数f1执行,则将消息2017- ...

  5. day16正则表达式作业

    1.匹配一篇英文文章的标题 类似 The Voice Of China #([A-Z][a-z]*)( [A-Z][a-z]*)* 2.匹配一个网址 #(https|http|ftp):\/\/[^\ ...

  6. 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】

    点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...

  7. python27期day18:模块和包、作业。

    1.模块和包: 我们今天来讲解一下模块和包,模块我们已经知道是什么东西了,我们现在来看看这个包是个什么? 我说的包可不是女同胞一看见就走不动的包,而是程序中一种组织文件的形式. 只要文件夹下含有__i ...

  8. python day 16作业

    day18天作业及默写1,完成下列功能: 1.1创建一个人类Person,再类中创建3个静态变量(静态字段) animal = '高级动物' soup = '有灵魂' language = '语言' ...

  9. python 作业

    Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...

随机推荐

  1. Model、Form、ModelForm的比较

    Model.Form.ModelForm 本节内容: 1:Model 2:Form 3:Model Form 1 2 3 http://www.cnblogs.com/wupeiqi/articles ...

  2. 前端CSS学习笔记

    一 CSS介绍 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(超文本标记语言)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS不仅可以 ...

  3. dom&JavaScript&Jquery

    目录 dom&JavaScript&Jquery 建节点 添加节点 删除节点: 替换节点: 属性节点 获取值操作 class的操作 指定CSS操作 操作节点 获取input用户输入 操 ...

  4. 使用SQL修改字段类型

    修改字段类型步骤: 1.首先需要检查字段约束 2.删除字段约束 3.修改字段类型 4.加上字段约束 --不加这个条件,库中所有默认约束都可以看到 SELECT  a.name AS DFName , ...

  5. c语言课程设计--图书/音乐管理系统

    这个代码因为配置信息的原因不能直接整个拿去用(o゜▽゜)o☆ 这个代码因为配置信息的原因不能直接整个拿去用(o゜▽゜)o☆ 这个代码因为配置信息的原因不能直接整个拿去用(o゜▽゜)o☆ 只能提供一个思 ...

  6. python学习之BeautifulSoup模块爬图

    BeautifulSoup模块爬图学习HTML文本解析标签定位网上教程多是爬mzitu,此网站反爬限制多了.随意找了个网址,解析速度有些慢.脚本流程:首页获取总页数-->拼接每页URL--> ...

  7. 采用vue编写的功能强大的swagger-ui页面

    think-swagger-ui-vuele swagger-ui有非常多的版本,觉得不太好用,用postman,每个接口都要自己进行录入.所以在基于think-vuele进行了swagger格式js ...

  8. HDU - 1160 最长上升子序列以及记录路径

    题意:第一列,给出老鼠的重量,第二列,给出老鼠的速度,要证明老鼠的重量越大,速度越小,给出最多老鼠的数量,并说明第几只. 思路:先将老鼠按照重量从大到小排序,然后速度是从小到大,求最长上升子序列,学习 ...

  9. oracle 10.1-10.4版本的oracle数据库要求

    1.针对arcgis 10.1的oracle数据库要求 受支持的数据库版本 标准版/标准独立版/企业版: Oracle 10g R2(64 位)10.2.0.3 Oracle 11g R1(64 位) ...

  10. Notepad++正则表达式查找替换文本中文字符

    测试需求 测试工具中xml配置文件中注释字段包含中文字符,在Win10系统下使用工具中偶尔会出现中文乱码导致配置文件失效.解决方法将配置文件中的中文注释换成英文注释或者直接替换删除.如何将配置文件中的 ...