作业:

# 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. 软件版本管理工具-SVN

    一.SVN简介 Subversion(svn)是一款开发源代码的版本控制系统. repository(源代码库):源代码统一存放的地方 Checkout(检出):当你手上没有源代码的时候,你需要从re ...

  2. Flutter Weekly Issue 49

    插件/Librarys flutter_date_pickers Allows to use date pickers without dialog. Provides some customizab ...

  3. js的预编译

    JavaScript不会完全按照代码的顺序执行,在执行之前会对定义的函数和变量先来一边所谓的预编译处理. 先来说下对变量的预处理: console.log(a) //undefined var a = ...

  4. mongodb的增加和删除

    一  mongodb中使用insert()方法来增加集合中的文档: db.myTable.insert({name:'arvin',age:12}) //对名为myTable的集合插入数据 插入数据 ...

  5. 面试都在问的微服务、服务治理、RPC、下一代微服务框架... 一文带你彻底搞懂!

    文章每周持续更新,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 单体式应用程序 与微服务相对的另一个概念是传统的单体式应用程序( ...

  6. RecyclerView实现拖动排序和滑动删除功能

    RecyclerView 的拖动排序需要借助一下 ItemTouchHelper 这个类,ItemTouchHelper 类是 Google 提供的一个支持 RecyclerView 滑动和拖动的一个 ...

  7. 惊呆了!不改一行 Java 代码竟然就能轻松解决敏感信息加解密|原创

    前言 出于安全考虑,现需要将数据库的中敏感信息加密存储到数据库中,但是正常业务交互还是需要使用明文数据,所以查询返回我们还需要经过相应的解密才能返回给调用方. ps:日常开发中,我们要有一定的安全意识 ...

  8. 逃生 HDU 4857(反向建图 + 拓扑排序)

    逃生 链接 Problem Description 糟糕的事情发生啦,现在大家都忙着逃命.但是逃命的通道很窄,大家只能排成一行. 现在有n个人,从1标号到n.同时有一些奇怪的约束条件,每个都形如:a必 ...

  9. SpringBoot系列之RabbitMQ使用实用教程

    SpringBoot系列之RabbitMQ使用实用教程 @ 目录 1. 消息队列概述 1.1 MQ的概述 1.2 MQ目的地形式 2. 消息队列实现方式 2.1 常见MQ框架 2.2 MQ实现方式 3 ...

  10. Light of future-冲刺Day 2

    目录 归属班级 →2019秋福大软件工程实践Z班 作业要求 →团队作业第五次-项目冲刺 团队名称 未来之光 这个作业的目标 第二天的冲刺总结 作业正文 →Light of future-冲刺Day 2 ...