1、编写课上讲解的有参装饰器准备明天默写

def auth(login_type):
def outter(func):
def warpper(*args,**kwargs):
func(*args,**kwargs)
if login_type=="mysql":
print("基于数据库")
elif login_type=="file":
print("基于文件")
return warpper
return outter
@auth("mysql")
def my_mysql():
print("我是数据库函数")
@auth("file")
def my_file():
print("我是文件函数")
my_mysql()
my_file()

2、在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典的操作

d = {}

def d_append(n):
def outter(func):
d[n] = [func.__name__, func]
def warpper():
func()
return warpper
return outter
@d_append(0)
def index():
print("我是主页")
@d_append(1)
def footer():
print("我是尾页") print(d)

3、编写日志装饰器,实现功能如:一旦函数f1执行,则将消息2017-07-21 11:12:11 f1 run写入到日志文件中,日志文件路径可以指定

import time
def timmer(func):
def warpper(*args,**kwargs):
func(*args,**kwargs)
file_path = input("请输入文件路径:")
with open(f"{file_path}","a",encoding="utf-8") as f :
f.write(time.strftime(f'%Y-%m-%d %X {func.__name__} run\n'))
return warpper
@timmer
def f1():
print("我是f1")
@timmer
def f2():
print("我是f2")
f1()
f2()

4、基于迭代器的方式,用while循环迭代取值字符串、列表、元组、字典、集合、文件对象

str1 = "hzisdsb"
list1 = [1,2,3,4]
dict1 = {"a":1,"b":2}
set1 = {1,2,3}
tuple1 = (1,2,3,)
def my_for(type,count=0):
iteration = type.__iter__()
while count<len(type):
print(iteration.__next__())
count+=1
my_for(str1)
my_for(list1)
my_for(dict1)
my_for(set1)
my_for(tuple1)
with open("a.txt","r",encoding="utf-8")as f :
while True:
try:
print(f.__next__())
except StopIteration:
break

5、自定义迭代器实现range功能

def my_rang(start,stop,step=1):
while start<stop:
yield start
start+=step
res = my_rang(1,100,1)
print(res.__next__())
print(res.__next__())
print(res.__next__())

day18 作业的更多相关文章

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

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

  2. day18作业

    作业: # 1.编写课上讲解的有参装饰器准备明天默写 def auth(file_type): def outer(func): def inter(*args,**kwargs): if file_ ...

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

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

  4. Day18作业及默写

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

  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. vue对象数组数据变化,页面不渲染

    很多时候,我们习惯于这样操作数组和对象: data() { // data数据 return { arr: [1,2,3], obj:{ a: 1, b: 2 } }; }, // 数据更新 数组视图 ...

  2. mysqldump导出数据库

    问题描述:要将一个mysql中六个数据库导出来,使用mysqldump导出 mysqldump使用语法:mysqldump -uroot -p -S /data/mysql/db_itax_m/mys ...

  3. Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定!

    项目要标定雷达和相机,这里记录下我标定过程,用的速腾 Robosense - 16 线雷达和 ZED 双目相机. 一.编译安装 Autoware-1.10.0 我没有安装最新版本的 Autoware, ...

  4. C语言视频教程下载(百万年薪程序员录制,免费公开)

    <C/C++语言高性能服务开发基础>您可以自由下载.传播.发布或其它商业用途. 视频文件共13.6G,提供了QQ群文件和百度网盘两种方法,建议采用QQ群文件下载,速度较快. 一.下载方法 ...

  5. @bzoj - 3724@ PA2014Final Krolestwo

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 你有一个无向连通图,边的总数为偶数. 设图中有k个奇点(度数为奇 ...

  6. OO第四单元——终章

    一.架构设计 这一单元的作业主要是围绕UML来对我们的面向对象思维进行训练,刚开始接触的时候或许因为些许陌生而觉得有一定难度,但随着一次一次的代码阅读再加上思考,逐渐地也变得得心应手了起来. 1.第一 ...

  7. 键盘侠Linux教程(四)| 常用命令

    前言 Linux命令并不可怕,只要熟悉日常的操作命令即可,其他不熟悉的命令,需要用到的时候可以查阅资料,熟能生巧. Linux常用操作命令 命令的基本格式 命令的提示符 [root@localhost ...

  8. opencv C++极坐标变换

    #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include<opencv ...

  9. 慕课网--docker走进第一个javaweb应用

    zh docker镜像就是一系列文件的集合 docker 容器就是一个进程.将docker镜像运行起来就是一个docker容器 docker仓库就是存储docker镜像的 1.docker的安装 do ...

  10. 【总结-前台发送后台接收表单】MVC提交表单的四种方式

    https://www.cnblogs.com/chenwolong/p/Form.html#commentform 后台控制器接收前台表单参数三种方法: 一.普通参数 HTML标签name 和参数名 ...