day18作业
作业:
# 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作业的更多相关文章
- 老男孩Day18作业:后台用户管理
一.作业需求: 1.用户组的增删改查 2.用户增删该查 - 添加必须是对话框 - 删除必须是对话框 - 修改,必须显示默认值 3.比较好看的页面 二.博客地址:https://www.cnblogs. ...
- python day18 作业 Django 开发主机管理系统
http://www.cnblogs.com/liang2580/p/9248803.html
- Day18作业及默写
人狗大战 #!/usr/bin/env python # encoding: utf-8 # Author: MeiMeiLong <2559184081@qq.com> # Create ...
- day18 作业
目录 1.编写课上讲解的有参装饰器准备明天默写 2.在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典的操作 3.编写日志装饰器,实现功能如:一旦函数f1执行,则将消息2017- ...
- day16正则表达式作业
1.匹配一篇英文文章的标题 类似 The Voice Of China #([A-Z][a-z]*)( [A-Z][a-z]*)* 2.匹配一个网址 #(https|http|ftp):\/\/[^\ ...
- 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】
点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...
- python27期day18:模块和包、作业。
1.模块和包: 我们今天来讲解一下模块和包,模块我们已经知道是什么东西了,我们现在来看看这个包是个什么? 我说的包可不是女同胞一看见就走不动的包,而是程序中一种组织文件的形式. 只要文件夹下含有__i ...
- python day 16作业
day18天作业及默写1,完成下列功能: 1.1创建一个人类Person,再类中创建3个静态变量(静态字段) animal = '高级动物' soup = '有灵魂' language = '语言' ...
- python 作业
Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...
随机推荐
- rbac权限(2)
models.py from django.db import models class User(models.Model): name=models.CharField(max_length=32 ...
- JVM年轻代,老年代,永久代详解
前言 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.本篇文章主要讲解内存区域的年轻代,老年代和永久代,略微提及一些垃圾回收算法,下面是正文. 堆整体 堆主 ...
- R之Shiny学习笔记
官方教程:https://shiny.rstudio.com/tutorial/ 中文教程:http://yanping.me/shiny-tutorial/ 英文教程:https://deanatt ...
- jq 导航跟随 模拟京东手机端
想做一个导航跟随,但是代码都要下载,自己简单些了一个,css都放html里面了,所以也不用下载直接新建html,然后粘贴,点开就是导航跟随效果 效果如图 <!DOCTYPE html> & ...
- tcp/ip面试题
TCP协议 1.OSI与TCP/IP各层的结构和功能,协议和作用. OSI七层模型对应TCP/IP四层模型,只是分法不同而已. 应用层:提供应用层服务,文件传输(FTP),电子邮件( ...
- Springcloud config + zuul 搭建动态网关
1,实现的效果,就是zuul 网关的配置路由实现负载均衡,zuul 的配置文件放在springcloud config 上 2,需要的服务如下: 3,其实就是配置下springcloud-zuul 的 ...
- iOS 继承
是否使用继承需要考虑三个点: 父类只是给子类提供服务,并不涉及子类的业务逻辑 层级关系明显,功能划分清晰,父类和子类各做各的. 父类的所有变化,都需要在子类中体现,也就是说此时耦合已经成为需求 万不得 ...
- Cygwin工具编译Ardupilot方法
注意:该编译方法生成的固件基于Chibios系统,如果想要Nuttx系统固件,需采用make编译,步骤见make编译说明部分. 软件安装准备 安装Cygwin 打开链接www.cygwin.com/i ...
- 瀑布流vue-waterfall的高度设置
最近用vue做项目,用到了瀑布流vue-waterfall,其中遇到高度的设置问题,大概介绍下,希望可以帮到一些人 1.安装 npm install --save vue-waterfall 2.引入 ...
- Java 类加载器解析及常见类加载问题
Java 类加载器解析及常见类加载问题 java.lang.ClassLoader 每个类加载器本身也是个对象--一个继承 java.lang.ClassLoader 的实例.每个类被其中一个实例加载 ...