Python装饰器,分两部分,一是装饰器本身的定义,一是被装饰器对象的定义。一、函数式装饰器:装饰器本身是一个函数。1.装饰函数:被装饰对象是一个函数[1]装饰器无参数:a.被装饰对象无参数:复制代码代码如下:>>>deftest(func):def_test():print'Callthefunction%s().'%func.func_namereturnfunc()return_test>>>@testdefsay():return'hellowor
系统 2019-09-27 17:50:21 1709
如下所示:#!/usr/bin/envpython3#-*-coding:utf-8-*-importsqlite3conn=sqlite3.connect('test.db')#创建一个Cursor:cursor=conn.cursor()#查询记录:conn=sqlite3.connect('calendar.db')cursor=conn.cursor()#执行查询语句:cursor.execute('select*fromperpetualCale
系统 2019-09-27 17:50:18 1709
python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包?使用的时候边记载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本。这些问题,requirements.txt都可以解决!生成requirements.txt,有两种方式:第一种适用于单虚拟环境的情况::pipfreeze>requirements.txt为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用
系统 2019-09-27 17:50:13 1709
在了解装饰器的之前一定要先了解函数作为参数传递,什么是函数内嵌,请参考我之前写的博客函数简介因为在python里面,函数也是对象,也可以作为参数进行传递.python装饰器本质也是一种特殊函数,它接收的参数是函数对象,然后动态地函数参数添加额外的功能,而不用修改原有的函数对象.python装饰器传入的参数是函数,返回的值也是函数!python装饰器思想有点类似设计模式的装饰模式,其意图是动态地给函数对象添加额外的功能.比如像增加日志打印的功能,有点面向切面
系统 2019-09-27 17:50:12 1709
Python在debug方面的支持还是不错的,在明确代码意义的情况下,通过log、print和assert分析错误原因,配合单元测试可以很高效。然而,实际工作中大量代码很可能出自他人之手,这种情况下,使用debugger就显得更加高效了。一、在控制台下进行程序调试PDB如果你熟悉命令行调试工具(例如gdb、lldb),那么使用Python中的PDB将获得非常好的体验,PDB不仅支持项目启动时进行调用,也支持在Pythonshell中交互式调试;功能上,支持
系统 2019-09-27 17:50:11 1709
一、操作系统中相关进程的知识Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的I
系统 2019-09-27 17:50:08 1709
返回被去除指定字符的字符串默认去除空白字符删除首尾字符:str.strip([char])删除首字符:str.lstrip([char])删除尾字符str.strip([char])判断是否匹配首末字符匹配成功返回True,否则返回False匹配首字符:str.startswith(char[,start[,end]])匹配末字符:str.endswith(char[,start[,end]])查找字符,找到返回字符位置,否则返回-1从字符串开头查找str
系统 2019-09-27 17:50:02 1709
一、Python简介1.Python发展史Python是由GuidovanRossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。Python本身也是由诸多其他语言发展而来的,这包括ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unixshell和其他的脚本语言等等。像Perl语言一样,Python源代码同样遵循GPL(GNUGeneralPublicLicense)协议。现在Python是由一个核心
系统 2019-09-27 17:49:50 1709
本文实例讲述了python3.6生成器yield用法。分享给大家供大家参考,具体如下:今天看源码的时候看到了一个比较有意思的函数:yield功能与return类似,都是返回定义的函数的一个结果,不同的是return返回后这次调用函数就结束了,除了返回值,其余临时变量都会被清除。而yield会停止在当前步,并保留其余变量的值,等下次调用该函数时,从yield的下一步继续往下运行。yield的好处是如果函数需要很大的内存,比方说需要计算并返回一个很大的数列,如
系统 2019-09-27 17:49:49 1709
1.字符串处理将字符串中的数字替换成其两倍的值,例如:修改前:"AS7G123m(d)F77k"修改后:"AS14G246m(d)F154k"个人思路:先用正则表达式将其中的数字匹配出来进行乘2操作,然后将字符串根据其中的数字进行切割,得到一个字符列表,最终将乘以2后的数字和原有的字符进行拼接得到最后的结果。(我脑子比较笨,想不到别的,如果您有更好更简便的方法,希望可以分享一下!)importretext="AS7G123m(d)F77k"nums=re.
系统 2019-09-27 17:49:46 1709