老男孩Python全栈学习 S9 日常作业 011
1、编写装饰器,为函数加上统计时间的功能
import time
def Decoration(func):
def Timmer():
# 开始时间
Start = time.time()
func()
End = time.time()
return Start - End
return Timmer @Decoration
def func1():
time.sleep(0.5)
print('hello')
return
答案
2、编写装饰器,为函数加上认证的功能;
这个题目一点思路都没有,也没办法确定出题者倒底是想让我干啥,日后再回过头来看看吧
3、写函数,传入一个参数n,返回n的阶乘
def func1(num):
Num = 1
for i in range(1,num+1):
Num *= i
return Num
4、有如下函数,你可以任意添加代码,用两种或以上的方法,执行inner函数.
def wrapper():
def inner():
print(666)
wrapper()
# 方式1
def wrapper():
def inner():
print(666)
inner()
wrapper() # 方式2
def wrapper():
def inner():
print(666)
return inner
inner = wrapper()
inner()
答案
5、相关面试题
def calc(a,b,c,d=1,e=2):
return (a+b)*(c-d)+e
示例代码
1、请分别写出下列标号代码的输出结果,如果出错请写出Error。
print(calc(1,2,3,4,5))
print(calc(1,2))
print(calc(e=4,c=5,a=2,b=3))
print(calc(1,2,3))
print(calc(1,2,3,e=4))
print(calc(1,2,3,d=5,4))
2、下面代码打印的结果分别是 list1=? ,list2=? ,list3=?.
def extendList(val,list=[]):
list.append(val)
return list
list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')
print('list1=%s'%list1)
print('list2=%s'%list2)
print('list3=%s'%list3)
def calc(a,b,c,d = 1,e = 2):
return (a+b) * (c-d) + e print(calc(1,2,3,4,5))
#
print(calc(1,2))
# miss error
print(calc(e=4,c=5,a=2,b=3))
#
print(calc(1,2,3))
#
print(calc(1,2,3,e=4))
#
print(calc(1,2,3,d=5,4))
# SyntaxError
答案-1
def extendList(val,list=[]):
list.append(val)
return list
list1 = extendList(10)
# [10]
list2 = extendList(123,[])
# [123]
list3 = extendList('a')
# [10, 'a']
print('list1=%s'%list1)
# list1=[10,'a']
print('list2=%s'%list2)
# list2=[123]
print('list3=%s'%list3)
# list3=[10,'a']
答案-2
老男孩Python全栈学习 S9 日常作业 011的更多相关文章
- 老男孩Python全栈学习 S9 日常作业 006
1.使用循环打印以下效果: 1: * ** *** **** ***** 2: ***** **** *** ** * 3: * *** ***** ******* ********* for i i ...
- 老男孩Python全栈学习 S9 日常作业 012
1.斐波那契数列用递归实现:问第n个斐波那契数是多少 def fbnq(n): if n == 0 or n == 1: return 1 else: return fbnq(n-1)+fbnq(n- ...
- 老男孩Python全栈学习 S9 日常作业 008
1.有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合 pythons={'alex','egon','yuanhao','wupeiq ...
- 老男孩Python全栈学习 S9 日常作业 010
1.写函数,接收n个数字,求这些参数数字的和. def func1(*Num): num = 0 for i in Num: num += i return num 2.读代码,回答:代码中,打印出来 ...
- 老男孩Python全栈学习 S9 日常作业 001
1.简述变量命名规范 必须以字母.数字.下划线命名,且不能以数字开头 不能是python的关键字 不能以中文或者拼音作为变量名 命名格式推荐以驼峰式或者下划线连接命名 区分大小写 要有意义,具有可描述 ...
- 老男孩Python全栈学习 S9 日常作业 013
1.写一个求正方形周长和面积的类 class perimeter: def __init__(s,long): s.long = long def Perimeter(s): print((s.lon ...
- 老男孩Python全栈学习 S9 日常作业 009
1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func1(List): List2 = [] for num in range(len(Li ...
- 老男孩Python全栈学习 S9 日常作业 007
1.把列表中所有姓周的人的信息删掉 lst = ['周老二', '周星星', '麻花藤', '周扒皮'] lst = ['周老二', '周星星', '麻花藤', '周扒皮'] lst2 = [] fo ...
- 老男孩Python全栈学习 S9 日常作业 005
1.有如下变量,请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age& ...
随机推荐
- 搭建Linux虚拟服务器
1.搭建Linux虚拟机环境安装VMware Workstation 14下载地址:https://www.cr173.com/soft/68480.html密钥:FF31K-AHZD1-H8ETZ- ...
- Jmeter Beanshell 用法
Beanshell 的用法 什么是beanshell Beanshell是一种完全符合java语法的脚本语言,并且拥有自己的内置对象和语法 Beanshell是用java写的,一个小型嵌入式java源 ...
- Linux查看监听端口的脚本测试
本文是按照lfree的博客(https://www.cnblogs.com/lfree/p/10368332.html)中的内容,进行学习.测试.总结的.有些知识点也是在阅读这篇博文时,发现不了解这方 ...
- ChromeDriver截图
一.NuGet安装Selenium.Chrome.WebDriver和Selenium.WebDriver 二.将packages\Selenium.Chrome.WebDriver.2.45\dri ...
- Jalor 5学习心得
jalor5是一套功能强大的框架,该框架集成了spring.mybatis.cxf.日志.异常等组件,和其它未提及的部分组件,如消息组件. 它还自带了权限管理,内容管理,国际化等功能,该框架在项目开发 ...
- Python之Scripy框架
为什么要用到cmd界面 --- 在这里操作的是Scripy框架的指令,不是Python代码 Parse --- Scripy的回调函数 fiddler --- 用于爬取JS存储数据的页面 项目: 1. ...
- vue打包发布在spingboot项目中 vue-router路由的处理
(原) 以下例子springboot后端地址为:localhost:7080/pingandai vue前端地址为:locahost:8080/pingandai/ 1.如果路由模式设置的是histo ...
- python开发之路-LuffyCity
阅读目录 一.python基础语法 二.python基础之字符编码 三.python基础之文件操作 四.python基础小练习 五.python之函数基础 六.python之函数对象.函数嵌套.名称空 ...
- Vue插值文本换行问题
问题背景: 后端返回的字符串带有\n换行符,但Vue将其插值渲染成div内部文本后,文本并不换行,换行符显示为一个空格. 目标: 让文本在换行符处换行. 解决方法: 思路:实现文本换行有两种方法,一是 ...
- nginx正向代理和反正代理区别
1)正向代理:客户端 <一> 代理 一>服务端 客户端访问不到服务端,所以找了代理,由代理帮忙访问到了服务端 2)反向代理:客户端 一>代理 <一> 服务端 客户端 ...