首先理解Python的函数能像普通的对象一样能作为参数传递给其他函数,可以被赋值给其他变量,可以作为返回值,可以被定义在另外一个函数内。前面的文章已经对闭包做了介绍,再次进行延伸和理解一下装饰器,主要用于不在改变源代码的情况下进行添加功能,装饰器利用闭包来实现,一般和闭包一起使用。装饰器返回一个函数对象,简单理解在原函数功能上又加入新功能并返回一个和原函数名相同的函数对象。deffuncout(func):deffuncIn(x,y):func(x,y)#
系统 2019-09-27 17:55:41 2153
最近需要实现一个服务程序的gracefulexiting,保证在退出前关闭所有已创建的子线程python借助KeyboardInterrupted异常响应键盘中断,因此首先尝试在子线程中try-catch这个异常(失败)查阅原因,键盘中断只有主线程可以响应并处理,子线程无法收到这个异常。因此可以使用类似这样的结构:cond=Truedefstart_task():whilecond:#dosomethingdefterminate_task():#brea
系统 2019-09-27 17:55:29 2153
看看这个logo,有些像python的小蛇吧。这次介绍的数据库codernityDB是纯python开发的。先前用了下tinyDB这个本地数据库,也在一个api服务中用了下,一开始觉得速度有些不给力,结果一看实现的方式,真是太鸟了,居然就是json的存储,连个二进制压缩都没有。这里介绍的CodernityDB也是纯开发的一个小数据库。CodernityDB是开源的,纯Python语言(没有第三方依赖),快速,多平台的NoSQL型数据库。它有可选项支持HTT
系统 2019-09-27 17:55:03 2153
Python面向对象编程——基本语法一、类的语法上一节最后的代码其实有问题,属性名字和年龄都写死了,想传名字传不进去。classPerson(object):def__init__(self,name,age):self.name=nameself.age=agep=Person("Alex",22)print(p.name,p.age)为什么有__init__?为什么有self?此时的你一脸蒙逼,相信不画个图,你的智商是理解不了的!画图之前,你先注释掉这
系统 2019-09-27 17:54:00 2153
1.递归时用self.函数名2.python中只有None表示空,没有null,NULL3.切片:切片的语法表达式为:[start_index:end_index:step],同时索引可分为正向和负向两种,其中:start_index表示起始索引end_index表示结束索引step表示步长,步长不能为0,且默认值为1或split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num+1个子字符串str.split(str="",num
系统 2019-09-27 17:53:07 2153
要求:在Python环境下用尽可能多的方法反转字符串,例如将s="abcdef"反转成"fedcba"第一种:使用字符串切片result=s[::-1]第二种:使用列表的reverse方法l=list(s)l.reverse()result="".join(l)当然下面也行l=list(s)result="".join(l[::-1])第三种:使用reduceresult=reduce(lambdax,y:y+x,s)第四种:使用递归函数deffunc(s
系统 2019-09-27 17:53:05 2153
方法一,利用alias,自定指令的别名。当前默认python版本是2.7:同时,也支持python3:使用命令ls/usr/bin/python*查看python地址:使用命令aliaspython='/usr/bin/python3.5'更改默认python版本(设定别名):这个方法在断开之后就无效了。可以在~/.bashrc文件中加入alias命令使它永久生效。方法二,使用update-alternatives命令:输入命令:update-altern
系统 2019-09-27 17:52:47 2153
Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是:pycrypto->ecdsa->paramiko1、安装pyCrypto安装这个比较麻烦,需要本地编译,要装vs或gcc还有一堆配置,还不一定能编译成功。(网上能搜到安装步骤)建议直接下载已编译版:http://www.voidspace.org.uk/p
系统 2019-09-27 17:52:27 2153
前言在Python中元组是一个相较于其他语言比较特别的一个内置序列类型。有些python入门教程把元组成为“不可变的列表”,这种说法是不完备的,其并没有完整的概括元组的特点。除了用作不可变的列表,它还可以用于没有字段名的数据记录。下面的内容就围绕元组作为数据记录属性展开,并介绍带字段名的具名元组函数namedtuple,列表属性不再本文中叙述。元组对于数据的记录元组中的每个元素都存放了记录中一个字段的数据,外加这个字段的位置,正是这个位置信息给数据赋予了意
系统 2019-09-27 17:51:46 2153
有时网页中会嵌套一个或者多个Frame,此时我们直接去找嵌套在Frame里面的元素会抛出异常,所以在操作的时候我们需要将页面焦点切换到Frame里面,下面我们就以一个实例演示一下!首先先创建三个html文件,文件代码如下:1)frameset.html2)frame_left.html3)frame_right.html4)frame_middle.html5)把这四个html文件放在同一个文件夹下<以下是python实现该逻辑的代码:importunit
系统 2019-09-27 17:50:57 2153