# 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. Spark MLlib FPGrowth关联规则算法

    一.简介 FPGrowth算法是关联分析算法,它采取如下分治策略:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-tree),但仍保留项集关联信息.在算法中使用了一种称为频繁模式树(Frequent ...

  2. 51Nod 1004 n^n的末位数字

    思路:首先将0~9的平方的尾数放在一个数组a里面,方便后面直接调用,因为不论多大的数做什么运算,得到的结果的最后一位数只和运算前所有数的最后一位数有关系.新建变量d,z一个是底数,一个是幂次.循环判断 ...

  3. Flink应用案例:How Trackunit leverages Flink to process real-time data from industrial IoT devices

    January 22, 2019Use Cases, Apache Flink Lasse Nedergaard     Recently there has been significant dis ...

  4. linux 软链接的创建、删除和更新

    大家都知道,有的时候,我们为了省下空间,都会使用链接的方式来进行引用操作.同样的,在系统级别也有.在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能有 ...

  5. Binwalk的安装和使用

    Binwalk的安装和使用 一.安装Git 参考链接:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067 ...

  6. 学习storm实现求和操作

    1 storm求和简单操作 主要逻辑,就是spout发送数据源,blot进行处理数据,主要注意的点就是 spout这有个nextTuple自旋,和使用父类的declare..方法声明要发送到下游的名称 ...

  7. opendir函数和readdir函数内涵及用法

    工作中遇到奇怪的事,加载增量的时候加载不上.于是开始分析原因,log里边没有任何错误信息,只有加载完成的标志.增量的数据在目录里边是存在的,但是显示的目录大小却不是4096,而是17,不知道为什么.后 ...

  8. Jquery mobile中用Jquery的append()追加的内容没有Jquery mobile的样式

    Jquery Mobile 动态添加块之后, 样式不是JM内定的样式,解决方案如下: $('#content').append(html).enhanceWithin();//Jquery Mobil ...

  9. Java的selenium代码随笔(6)

    //获取元素列表public List<WebElement> ListElements(WebElement webElement, By parentBy, By childrenBy ...

  10. MongoDB系列:五、MongoDB Driver使用正确的姿势连接复制集

    MongoDB复制集(Replica Set)通过存储多份数据副本来保证数据的高可靠,通过自动的主备切换机制来保证服务的高可用.但需要注意的时,连接副本集的姿势如果不对,服务高可用将不复存在. 使用复 ...