定义通常,一个descriptor是具有“绑定行为”的对象属性。所绑定行为可通过descriptor协议被自定义的__get__(),__set__()和__delete__()方法重写。如果一个对象的上述三个方法任意一个被重写,则就可被称为descriptor。属性的默认操作是从对象字典中获取、设置和删除一个属性。例如,a.x有一个查找链,先a.__dict__['x'],若没有则type(a).__dict__['x'],若没有增往上查找父类直到元类。
系统 2019-09-27 17:53:41 1869
Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。创建一个“队列”对象importQueueq=Queue.Queue(maxsize=10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。将一个值放入队列中q.put(10)调用队列对
系统 2019-09-27 17:53:36 1869
python字符串替换是python操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法。python字符串替换可以用2种方法实现:1是用字符串本身的方法。2用正则来替换字符串下面用个例子来实验下:a='helloword'把a字符串里的word替换为python1、用字符串本身的replace方法复制代码代码如下:a.replace('word','python')输出的结果是hellopython2、用正则表达式来完成替换:复制代码代码如下:
系统 2019-09-27 17:53:34 1869
运行多进程每个子进程的内存空间是互相隔离的进程之间数据不能共享的互斥锁但是进程之间都是运行在一个操作系统上,进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是可以的,而共享带来的是竞争,竞争带来的结果就是错乱#并发运行,效率高,但竞争同一打印终端,带来了打印错乱frommultiprocessingimportProcessimporttimedeftask(name):print("%s1"%name)time.slee
系统 2019-09-27 17:52:42 1869
在配置python环境,并安装所需包后,运行下列代码~importpandasaspdfromsqlalchemyimportcreate_engineimportcx_Oracle#进行oracle服务器设置,用户名;密码;HOST数据库IP地址;PORT端口号;SERVICE_NAMEdb=cx_Oracle.connect('userid','password','10.10.1.10:1521/dbinstance')print(db.versio
系统 2019-09-27 17:52:32 1869
在上一篇文章中,我们讲了如何在linux上用python写一个守护进程。主要原理是利用linux的fork函数来创建一个进程,然后退出父进程运行,生成的子进程就会成为一个守护进程。细心观察的可能会发现,这个守护进程的运行身份是执行这个程序的用户,如果把这个守护程序加入到系统的服务项,那么这个守护程序的执行身份应该是root。一个情况出现了,root的权限比较大,如果通过这个root身份的守护程序来进行操作,危险性是比较大的。一种好的办法是生成一个身份为ro
系统 2019-09-27 17:52:32 1869
3.4.5断言断言(assertions)的使用方式类似于if语句,只是在不满足条件时,会直接抛出异常。类似于下面的if语句(伪代码)ifnotcondition:#如果不满足条件,会直接抛出异常,程序会中断crashprogram那么究竟为什么需要这样的代码呢?主要原因为需要检测程序在某个地方是否满足条件,如果不满足条件,应该及时通知开发人员,而不是将这些bug隐藏起来,知道关键的时候在崩溃。其实在TDD中经常使用断言,TDD会在程序发现异常时执行断言,
系统 2019-09-27 17:52:20 1869
#下载一个网页importrequestsimportreurl='https://www.biquge5200.cc/14_14621/'#模拟浏览器发送http请求response=requests.get(url)#编码方式response.encoding='utf-8',如果下载下来的网页内容有中文乱码现象就需要加上这一句话#网页源码html=response.text#[0]取列表下第0个元素.#eg:title的输出结果为:['斗神狂飙无弹窗
系统 2019-09-27 17:52:18 1869
数据结构作为计算机基础的必修内容,也是很多大型互联网企业面试的必考题。可想而知,它在计算机领域的重要性。然而很多计算机专业的同学,都仅仅是了解数据结构的相关理论,却无法用代码实现各种数据结构。今日整理了一份常见数据结构的Python实现,希望大家能够参考代码,亲自动手通过代码实现各种数据结构,以巩固知识加深理解。以下内容整理于《Python实现各种常用算法》栈classStack(object):def__init__(self,limit=10):sel
系统 2019-09-27 17:52:13 1869
Python:1.print()函数:打印字符串2.raw_input()函数:从用户键盘捕获字符3.len()函数:计算字符长度4.format(12.3654,'6.2f'/'0.3%')函数:实现格式化输出5.type()函数:查询对象的类型6.int()函数、float()函数、str()函数等:类型的转化函数7.id()函数:获取对象的内存地址8.help()函数:Python的帮助函数9.s.islower()函数:判断字符小写10.s.spp
系统 2019-09-27 17:50:54 1869