# 1.为函数写一个装饰器,在函数执行之后输入 after
"""
def wrapper(arg):
def inner(*args):
arg()
print('after')
return inner @wrapper
def func():
print(123) func()
""" # 2.为函数写一个装饰器,把函数的返回值 +100 然后再返回。
'''
def wrapper(arg):
def inner(*args):
v = arg() + 100
return v
return inner @wrapper
def func():
return 7 result = func()
print(result)
''' # 3.为函数写一个装饰器,根据参数不同做不同操作。
#
# flag为True,则 让原函数执行后返回值加100,并返回。
# flag为False,则 让原函数执行后返回值减100,并返回。
'''
def x(flag):
def inner(arg):
def class3():
if flag:
return arg()+100
return arg()-100
return class3
return inner @x(True)
def f1():
return 11 @x(False)
def f2():
return 22 r1 = f1()
r2 = f2()
print(r1,r2)
''' # 4.写一个脚本,接收两个参数。
# 第一个参数:文件
# 第二个参数:内容
# 请将第二个参数中的内容写入到 文件(第一个参数)中。
# 执行脚本: python test.py oldboy.txt 你好
'''
def func(file, content):
with open(file, mode='w', encoding='utf-8') as f:
f.write(content) func('test.py','123')
''' # 5.递归的最大次数是多少?
'''
1000
''' # 6.看代码写结果
'''
print("你\n好") # 你 换行 好
print("你\\n好") # 你\n好
print(r"你\n好") # 你\n好
''' # 7.写函数实现,查看一个路径下所有的文件【所有】。
'''
import os v = os.walk(r'D:\homework\day14')
for a,b,c in v:
for i in c:
path = os.path.join(a,i)
print(path)
''' # 8.写代码,请根据path找到code目录下所有的文件【单层】,并打印出来。
'''
import os v = os.listdir("..\day14")
for i in v:
print(i)
''' # 9.

# 9.1斐波那契数列
'''
lst = [1,1,]
count = 2
while 1:
a = lst[-1] + lst[-2]
if a < 4000000:
lst.append(a)
count += 1
else:
break print(lst,count)
''' # 9.2
'''
dic_a = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'f': 'hello'}
dic_b = {'b': 3, 'd': 5, 'e': 7, 'm': 9, 'k': 'world'}
for i in dic_b:
if i in dic_a:
dic_a[i] = dic_a[i] + dic_b[i]
else:
dic_a[i] = dic_b[i] print(dic_a)
''' # 10.

'''
[10,'a']
[123]
[10,'a']
''' # 11.

# 11.1  A,B,C

# 11.2
'''
tupleA = ('a', 'b', 'c', 'd', 'e')
tupleB = (1, 2, 3, 4, 5)
dic = {}
for i in range(len(tupleA)):
dic[tupleA[i]] = tupleB[i]
print(dic)
''' # 11.3
'''
import sys
print(sys.argv)
print(len(sys.argv))
print(sys.argv[0])
''' # 11.4
'''
ip = '192.168.0.100'
lst = [int(i) for i in ip.split('.')]
print(lst)
''' # 11.5
'''
Alist = ['a', 'b', 'c']
s = ','.join(Alist)
print(s)
''' # 11.6
'''
a = StrA[-2:]
b = StrA[1:3]
''' # 11.7
# Alist = [1, 2, 3, 1, 3, 1, 2, 1, 3]
# 方法一
'''
a = Alist[:3]
print(a)
'''
# 方法二
'''
b = set(Alist)
print(list(b))
''' # 11.8
'''
import os
def func(path):
for a,b,c in os.walk(path):
for i in c:
ret = os.path.join(a,i)
print(ret) func(r'D:\homework')
''' # 11.9
 for a in range(1, 10000):
lst = []
for b in range(1, a):
if a % b == 0:
lst.append(b)
if sum(lst) == a:
print(a)
# 11.10进程池

# 11.11
'''
list1 = []
list2 = []
''' # 11.12
 with open('etl_log.txt','r',encoding='utf-8') as f:
for line in f:
print(line)
												

oldboy s21day14装饰器模块和面试题的更多相关文章

  1. oldboy s21day13装饰器和推导式

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 2.请为 func 函数编写一个装饰器,添加上装饰器后可以实现:执行func时,先输入"befor ...

  2. python functools.wraps装饰器模块

    # -*-coding=utf-8 -*-#实现一个函数执行后计算执行时间的功能 __author__ = 'piay' import time, functools def foo(): ''' 定 ...

  3. Python_oldboy_自动化运维之路_函数,装饰器,模块,包(六)

    本节内容 上节内容回顾(函数) 装饰器 模块 包 1.上节内容回顾(函数) 函数 1.为什么要用函数? 使用函数之模块化程序设计,定义一个函数就相当于定义了一个工具,需要用的话直接拿过来调用.不使用模 ...

  4. python基础编程: 函数示例、装饰器、模块、内置函数

    目录: 函数示例 装饰器 模块 内置函数 一.函数示例: 1.为什么使用函数之模块化程序设计: 不使用模块程序设计的缺点: 1.体系结构不清晰,可主读性差: 2.可扩展性差: 3.程序冗长: 2.定义 ...

  5. Python之路【第五篇】: 函数、闭包、装饰器、迭代器、生成器

    目录 函数补充进阶 函数对象 函数的嵌套 名称空间与作用域 闭包函数 函数之装饰器 函数之可迭代对象 函数之迭代器 函数之生成器 面向过程的程序设计思想 一.函数进阶之函数对象 1. 函数对象 秉承着 ...

  6. Python装饰器实现几类验证功能做法

    最近新需求来了,要给系统增加几个资源权限.尽量减少代码的改动和程序的复杂程度.所以还是使用装饰器比较科学 之前用了一些登录验证的现成装饰器模块.然后仿写一些用户管理部分的权限装饰器.比如下面这种 de ...

  7. day13 装饰器与语法糖

    day13 装饰器与语法糖 一.装饰器 1.什么是装饰器 装饰器就是装饰别人的工具,具体是指为被装饰者添加新功能 装饰器->函数 被装饰者->函数 2.为何要用装饰器 装饰器的核心思想:( ...

  8. oldboy s21day15模块装饰器及其他应用

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.sys.path.append("/root/mods")的作用?"&qu ...

  9. python学习day14 装饰器(二)&模块

    装饰器(二)&模块 #普通装饰器基本格式 def wrapper(func): def inner(): pass return func() return inner def func(): ...

随机推荐

  1. webstorm2018.1 汉化

    https://github.com/pingfangx/TranslatorX 这个百度云 选择webstorm 选择勾选的文件 选择你下载webstorm 的版本 我下载的是2018.1的 之后等 ...

  2. MyDAL - .UpdateAsync() 之 .SetSegment 根据条件 动态设置 要更新的字段 使用

    索引: 目录索引 一.API 列表 1.SetSegment 属性,指示 根据条件 动态拼接 要修改的字段 见如下示例. 二.API 单表-完整 方法 举例 // update 要赋值的变量 var ...

  3. JavaScript 节流函数 Throttle 详解

    在浏览器 DOM 事件里面,有一些事件会随着用户的操作不间断触发.比如:重新调整浏览器窗口大小(resize),浏览器页面滚动(scroll),鼠标移动(mousemove).也就是说用户在触发这些浏 ...

  4. 开启远程桌面连接windows的方法以及遇到的问题

    确认电脑的远程服务是否已经开启 开始--运行--输入“services.msc ”,打开服务,找到三个remote desktop开头的服务 Remote Desktop Configuration. ...

  5. WEB 性能测试用例设计以及总结

    WEB 性能测试用例设计以及总结 WEB 性能测试用例设计模型是设计性能测试用例的一个框架,在实际项目中,需要对其进行适当的剪裁,从而确定性能测试用例的范围和类别.剪裁的依据是性能测试策略和测试范围, ...

  6. RecyclerView的Item的单击事件

    RecyclerView 的每个Item的点击事件并没有像ListView一样封装在组件中,需要Item的单击事件时就需要自己去实现,在Adapter中为RecyclerView添加单击事件参考如下: ...

  7. Python之常用第三方库总结

    在使用python进行开发的时候,经常我们需要借助一些第三方库,进行日常代码的开发工作.这里总结一些常用的类库 1. requests Requests 是用Python语言编写,基于 urllib, ...

  8. Django后端向前端直接传html语言防止转义的方法(2种)

    Django后端向前端直接传html语言防止转义的方法(2种) 目的,为了让前端对后端传输的这种方式不转义 1.使用mark_safe() from django.utils.safestring i ...

  9. js 前端常用排序算法总结

    (冒泡排序.快排顺序.选择排序.插入排序.归并排序) 下面是前端比较常用的五个算法demo: 冒泡算法:比较两个相邻的数值,if第一个>第二个,交换他们的位置元素项向上移动至正确的顺序. fun ...

  10. Python——模块——配置模块(ConfigParser)

    一.读取 read(filename) 直接读取ini文件内容  sections() 得到所有的section,并以列表的形式返回 options(section) 得到该section的所有opt ...