python装饰器练习题及答案_python

来源:脚本之家  责任编辑:小易  

#-*- coding:utf-8 -*-N = {0:'零',1:'壹',2:'贰',3:'叁',4:'肆2113',5:'伍',6:'陆',7:'柒',8:'捌',9:'玖'}M = ['亿','仟','佰5261','拾','万','仟','佰','拾','元']H = ['角','分']class Print:    def __init__(self,a,a1,a2,N):        self.a=a        self.a1=a1        self.a2=a2        self.N=N    def Int(self,M,S=''):        self.M=M        self.S=''        if len(str(self.a1))>10:            print ('输入的金4102额超限(超出长度)1653')        else:            b = abs(int(self.a1))            New =[]            for st in str(b):                if int(st) in  self.N.keys():                    New.append(self.N[int(st)])            L=self.M[-len(New):]            for (x,y) in zip(New,L):                    self.S+=x+y            return self.S        def Float(self,H,S1 =''):         self.H=H         self.S1=''         a3=int(100*self.a2)         New1 =[]         for st1 in str(a3):            if int(st1) in  self.N.keys():               New1.append(self.N[int(st1)])         L1=H[-len(New1):]            for (x,y) in zip(New1,L1):             self.S1+=x+y         return self.S1        if __name__=="__main__":     while True:         a = float(input('请输入金额(不超过10亿元):'))         a1=int(a)         a2=round((a-a1),2)         P=Print(a,a1,a2,N)         if a2==0.0:             P.Int(M)             print(P.S+'0角0分')             break         else:             P.Float(H)             print(P.Int(M)+P.S1)             break,https://github.com/Sandwych/rmb_converter/blob/master/src/python/rmb_upper.py这个应该2113可以满足你的要求了5261,据说这是整个银河系 处理你这样4102子需求最给力的代码,1653你值得一看www.zgxue.com防采集请勿采集本网。

这篇文章主要介绍了python装饰器练习题及答案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

哪里有带答案的 Python 习题 1,使用getopt。getopt()优化当前的功能函数: [html] usr/bin/python coding:utf-8-*- coding=utf-8 import os,sys import getopt print sys.argv CDROW='/home/zhouqian/

一:编写装饰器,为多个函数加上认证的功能(用户的账号密码)

最低0.27元开通文库会员,查看完整内容>原发布者:糊俺熊脸啊0 《Python程序设计》填空题1-280题2017-03-23 董付国 Python小屋1、Python安装扩展库常用的是_工具。(pip)2、Python标准库math中用来计算

要求登录成功一次,后续的函数都无需输入用户名和密码

coding:utf-8-*- def Guess(word): print '=' print 'Word so far:%s'%('*'*len(word)) for i in range(len(word)): while True: j=raw_input('Take guess number%d:\\n'%(i+1)) if j=word[i]: print 'Got

FLAG=False#此时还未登录 全局变量 写这个步骤的意义在于:方便 知道已经登录成功了,就不再重复登录

#注意:最左边每个=表示一个空格 list1=[11,22,33] list2=[22,33,44] list3=list1[:] for e in list2: if e not in list1: list3.append(e) print(list3)

http://docs.google.com/leaf?id=0BwWWwORaD883N2I1Mzk5ZGUtMDg3My00NDViLWI1OWEtNjNiNjE4ZjFkNDE1&hl=zh_CN 自己上传的,看我这么辛苦给点分罗

def login(func):#为多个函数加上的认证功能 def inner(*args,**kwargs):#加上装饰器 global FLAG#给函数内的全局变量赋值 if FLAG: ret = func(*args, **kwargs) # func就是被装饰的函数 return ret #'''写登录程序''' else: username=input('亲输入你的名字:') password=input('亲输入你的密码:') if username=='lxx' and password=='123': FLAG=True ret=func(*args,**kwargs) #func就是被装饰的函数 return ret else: print('错误,登录失败') return inner@logindef shoplist_add(): #两个函数有不同的功能 print('增加一件物品')@logindef shoplist_del(): print('删除一件物品')shoplist_add()shoplist_del()

二:编写装饰器,为多个函数加上记录调用功能,要求每次调用函数都将被调用的函数名称写入文件

def log(func): def inner(*args,**kwargs): with open('log','a',encoding='utf-8') as f: f.write(func.__name__)#每次调用函数都将被调用的函数名称写入文件 ret=func(*args,**kwargs) return ret return inner@logdef shoplist_add(): #两个函数有不同的功能 print('增加一件物品')@logdef shoplist_del(): print('删除一件物品')shoplist_add()shoplist_del()

三:进阶作业:

1.编写下载网页内容的函数,要求功能是:用户传入一个URL,函数返回下载页面的结果

2.为题目一编写装饰器,实现缓存网页内容的功能

3.具体:实现下载的页面存放与文件中,如果文件内有值(文件大小不为零),就优先从文件中读取网页内容

http://docs.google.com/leaf?id=0BwWWwORaD883N2I1Mzk5ZGUtMDg3My00NDViLWI1OWEtNjNiNjE4ZjFkNDE1&hl=zh_CN 自己上传的,看我这么辛苦给点分罗

import osfrom urllib.request import urlopendef cache(func): def inner(*args,**kwargs): if os.path.getsize('log'):#查看文件大小 如果不为零为 判断文件中是否有内容 with open('log','rb') as f: return f.read() ret=func(*args,**kwargs)#请求网页的函数 with open('log','wb') as f: #wb不需要encoding='utf-8' f.write(b'****vfd**' + ret) #下载的页面存放在文件中 将请求的结果写入文件 return ret return inner@cachedef get(url): code=urlopen(url).read return coderet=get('https://shimo.im/docs/VN0BLgAIBdMVSa4S/read')print(ret)ret=get('https://shimo.im/docs/VN0BLgAIBdMVSa4S/read')print(ret)ret=get('https://shimo.im/docs/VN0BLgAIBdMVSa4S/read')print(ret)

坦白的说这本书不是非常好,而且还和社区有版权问题,我个人比较喜欢《编程金典》基础讲的非常详细,后面的面向物件和多线程也不错。书中用的是TK图形库,比较简单,容易上手,但是如果非要用python做图形(比如为了跨平台)可能wxpythoy比TK会好那么一点点。不懂可以问我内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • python @property装饰器原理解析
  • python中property和setter装饰器用法
  • python装饰器使用实例详解
  • python函数装饰器之带参数的函数和带参数的装饰器用法示例
  • python使用装饰器作日志处理的方法
  • python3.7 新特性之dataclass装饰器
  • python装饰器的应用场景代码总结
  • django的分页器paginator 从django中导入类
  • python中的多线程实例教程
  • 动态创建类实例代码
  • python全面分析系统的时域特性和频率域特性
  • 归纳整理python中的控制流语句的知识点
  • python语法垃圾回收机制原理解析
  • 机器学习经典算法-logistic回归代码详解
  • numpy掩码式数组详解
  • 对于python中rawstring的理解介绍
  • python 装饰器功能以及函数参数使用介绍
  • 想找python有练习题和答案的网站学习
  • Python习题(急!!!)
  • 求python的练习题
  • 《python从入门到实践》练习题有答案吗
  • 哪里有带答案的 Python 习题吗
  • python练习题求助
  • python练习题
  • Python中基础练习题?
  • 求python习题!
  • 《python从入门到实践》练习题有答案吗
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页python @property装饰器原理解析python中property和setter装饰器用法python装饰器使用实例详解python函数装饰器之带参数的函数和带参数的装饰器用法示例python使用装饰器作日志处理的方法python3.7 新特性之dataclass装饰器python装饰器的应用场景代码总结django的分页器paginator 从django中导入类python中的多线程实例教程动态创建类实例代码python全面分析系统的时域特性和频率域特性归纳整理python中的控制流语句的知识点python语法垃圾回收机制原理解析机器学习经典算法-logistic回归代码详解numpy掩码式数组详解对于python中rawstring的理解介绍python 装饰器功能以及函数参数使用介绍python入门教程 超详细1小时学会python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 使用心得(一)安装和首python strip()函数 介绍python 中文乱码问题深入分析python中使用xlrd、xlwt操作excepython科学计算环境推荐——anacpython逐行读取文件内容的三种方python爬取成语接龙类网站浅析python语言自带的数据结构有哪些python分块读取大数据,避免内存不足的方法基于matlab和python实现mfcc特征参数提取python实现神经网络感知器算法python while、for、生成器、列表推导等语python实现求最大公约数及判断素数的方法如何用itertools解决无序排列组合的问题python for循环中的陷阱详解django跨域请求csrf的方法示例
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved