本文实例讲述了Python函数装饰器原理与用法。分享给大家供大家参考,具体如下:装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等应用场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外
系统 2019-09-27 17:55:08 1918
当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐。在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程,比如:unittest:一个通用的测试框架;doctest:一个更简单的模块,是为检查文档而设计的,但也非常适合用来编写单元测试。下面,笔者将会简单介绍这两个模块在测试中的应用。doctestdoctest模块会搜索那些看起来像是python交互式会话中的代
系统 2019-09-27 17:55:04 1918
python内部自带大整数运算能力,整数运算不会溢出,只要内存足够,就oK下面的例子演示了两个32位整数加法的情况(通过位运算实现),为了模拟溢出的效果,必须人工的进行位运算,~运算符除了求反,还是二进制的补运算符,运算过后的二进制数字按照补码解释,例如~(00111100)=(11000011)=-61defgetSum(a,b):""":typea:int:typeb:int:rtype:int"""MAX=0X7fffffffMIN=0X800000
系统 2019-09-27 17:54:25 1918
Python日期的加减等操作经常会用的,总结一下。1.日期输出格式化所有日期、时间的api都在datetime模块内。datetime=>stringnow=datetime.datetime.now()now.strftime('%Y-%m-%d%H:%M:%S')#输出2012-03-0516:26:23.870105strftime是datetime类的实例方法。2.string=>datetimet_str='2012-03-0516:26:23'
系统 2019-09-27 17:54:18 1918
一般使用import和from...import...导入模块。以下述spam.py内的文件代码为例。'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''#spam.pyprint('fromthespam.py')money=1000defread1():print('spam模块:',money)defread2():print('spam
系统 2019-09-27 17:54:08 1918
#!/usr/bin/python#-*-coding:UTF-8-*-#######################################createdbybasededato####2018-01-02####监控#####################################importosimportjsonclassMonitor(object):def__init__(self,Cmd):self.Cmd=Cmd#vmsta
系统 2019-09-27 17:53:33 1918
概述到2020年,Python2的官方维护期就要结束了,越来越多的Python项目从Python2切换到了Python3。其实在实际工作中,很多伙伴都还是在用Python2的思维写Python3的代码。给大家总结一下Python3一些新的更方便的特性!希望你们看完后也能高效率的编写代码f-strings(3.6+)在Python里面,我们经常使用format函数来格式化字符串,例如:user="JaneDoe"action="buy"log_message
系统 2019-09-27 17:53:11 1918
如下所示:#coding:utf-8importbinasciia='worker'#先把worker转换成二进制数据然后在用十六进制表示b=binascii.b2a_hex(a)printb#与b2a_hex相反printbinascii.a2b_hex(b)#这个功能和b2a_hex()一样c=binascii.hexlify(a)printc#这个功能和a2b_hex()一样printbinascii.unhexlify(c)######运行结果##
系统 2019-09-27 17:52:56 1918
问题描述:使用Python语言完成文本颜色设置。源代码:#!/usr/bin/python#-*-coding:UTF-8-*-classbcolors:HEADER='\033[95m'OKBLUE='\033[94m'OKGREEN='\033[92m'WARNING='\033[93m'FAIL='\033[91m'ENDC='\033[0m'BOLD='\033[1m'UNDERLINE='\033[4m'printbcolors.WARNING+
系统 2019-09-27 17:52:56 1918
作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认
系统 2019-09-27 17:52:35 1918
通过可变参数计算n个数的乘积:代码如下:list=[]defthe_input(count=eval(input("输入乘数的总个数:"))):foriinrange(count):N=eval(input("依次输入乘数:"))list.append(N)print("一共有",count,"个要相乘的数")print("把这些乘放在列表里面:",list)the_input()defget_mul(*num):sum=1forninnum:sum=su
系统 2019-09-27 17:52:31 1918
尽管内容可能有些老,但是没有关系,对于想深入Python开发的工作者,在选择GUI开发包,乃至可视化IDE方面都还有相当的借鉴意义。Python最大的特点就在于她的快速开发功能。作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域。这里我简单介绍一下用python进行gui开发的一些选择。1、TkinterTkinter似乎是与tcl语言同时发展起来的一种界面库。tkinter是python的配备的标准gui库,也是opensource的
系统 2019-09-27 17:52:05 1918
前言知识在于细节,整理很重要。在python中,有3类方法:1)静态方法(staticmethod)2)类方法(classmethod)3)实例方法其中静态方法和类方法是不需要进行实例就可以直接调用,语法格式:类名.方法名具体举个例子说明deffunc(x):print("hello,我是常用方法")classFun:deffunc1(self,x):print("hello,我是类中方法",x,self)@classmethoddeffunc2(cls,
系统 2019-09-27 17:51:55 1918
Python实现Mysql数据统计的实例代码如下所示:importpymysqlimportxlwtexcel=xlwt.Workbook(encoding='utf-8')sheet=excel.add_sheet('Mysql数据库')sheet.write(0,0,'库名')sheet.write(0,1,'表名')sheet.write(0,2,'数据条数')db=pymysql.connect('192.168.1.74','root','123
系统 2019-09-27 17:51:52 1918
Python3快速入门(八)——Python3JSON1、JSON简介JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,是基于ECMAScript的一个子集。2、json模块简介Python3中可以使用json模块来对JSON数据进行编解码,包含两个函数:json.dumps():对数据进行编码。json.loads():对数据进行解码。在json的编解码过程中,Python的数据类型与json类型会相互转换。json
系统 2019-09-27 17:51:32 1918