描述符:如果一个类中包含了三个魔术方法(get,set,delete)之一或者全部的类这个类就是一个描述符描述符的作用:描述符的作用就是对类/对象中某个成员进行详细的管理操作。数据描述符:(完整)同时具备三个魔术方法的类就是数据描述符非数据描述符(不完整):没有同时具备三个魔术方法的类就是非数据描述符三个魔术方法:__get__():触发时机:在访问对象成员属性(该成员已经交给描述符管理的时候)的时候触发作用:设置当前属性获取的值参数:self描述符的对象
系统 2019-09-27 17:54:25 1913
方法1(推荐):在Python中,False,0,’’,[],{},()都视为假,因此可以直接进行逻辑运算。此方法效率最高。方法2:调用len方法,查看元素个数是否为0。此方法效率较低。方法3:让解释器再生成一个空列表,并将这个空列表与list_temp进行比较。此方法效率最低。list_temp=[]print('方法1(推荐):在Python中,False,0,'',[],{},()都视为假,因此可以直接进行逻辑运算。此方法效率最高。')iflist_
系统 2019-09-27 17:52:58 1913
logging库提供了两个可以用于日志滚动的class(可以参考https://docs.python.org/2/library/logging.handlers.html),一个是RotatingFileHandler,它主要是根据日志文件的大小进行滚动,另一个是TimeRotatingFileHandler,它主要是根据时间进行滚动。在实际应用中,我们通常根据时间进行滚动,因此,本文中主要介绍TimeRotaingFileHandler的使用方法(R
系统 2019-09-27 17:52:54 1913
介绍此教程为我的数篇文章中的一个重点。主题是魔术方法。什么是魔术方法?他们是面向对象的Python的一切。他们是可以给你的类增加"magic"的特殊方法。他们总是被双下划线所包围(e.g.__init__或者__lt__)。然而他们的文档却远没有提供应该有的内容。Python中所有的魔术方法均在Python官方文档中有相应描述,但是对于他们的描述比较混乱而且组织比较松散。很难找到有一个例子(也许他们原本打算的很好,在开始语言参考中有描述很详细,然而随之而来
系统 2019-09-27 17:52:15 1913
测试1deco运行,但myfunc并没有运行复制代码代码如下:defdeco(func):print'beforefunc'returnfuncdefmyfunc():print'myfunc()called'myfunc=deco(myfunc)测试2需要的deco中调用myfunc,这样才可以执行复制代码代码如下:defdeco(func):print'beforefunc'func()print'afterfunc'returnfuncdefmyfu
系统 2019-09-27 17:51:53 1913
request请求头信息的键会加上HTTP_转换成大写存到request.META中因此你只需要content_range=request.META['HTTP_CONTENT_RANGE']这样就可以获取到Content-Range的信息。django官网的解释:AstandardPythondictionarycontainingallavailableHTTPheaders.Availableheadersdependontheclientandse
系统 2019-09-27 17:50:09 1913
pandas中选取方式有很多种,最常用的是一下几种:直接选取(单维度选取)、iloc();loc();ix()函数选取(区域选区),at();iat()函数选取(单元格选取)。通过以上几种方式可以实现:选取某些行、某些列、某区域(同时选择某些行和某些列)、某个单元格,还可以进行条件选区。具体实现方法如下。首先创建一个DataFrame.importpandasaspdimportnumpyasnpdata={'name':['Joe','Mike','Ja
系统 2019-09-27 17:49:56 1913
python各类经纬度转换,具体代码如下所示:importmathimporturllibimportjsonx_pi=3.14159265358979324*3000.0/180.0pi=3.1415926535897932384626#πa=6378245.0#长半轴ee=0.00669342162296594323#扁率classGeocoding:def__init__(self,api_key):self.api_key=api_keydefge
系统 2019-09-27 17:48:36 1913
importitchatimportrequests#获取价格defget_price(symbol):request=requests.get("https://api.hbdm.com/api/v1/contract_index?symbol="+symbol).json()price=request["data"]foriteminprice:return(item['index_price'])#获取列表中字典的值#获取并发送消息@itchat.m
系统 2019-09-27 17:48:11 1913
我们已知python是具有非常多的包一种开源语言,封装了各种算法。python典型的数据结构为列表/元组/字符串/字典,与C/C++中的数组(array)/栈(stack)/(优先)队列”(queue)/二叉树(binarytree)有明显区别。在python官网中指出,列表可以作为栈和队列使用,但是并未给出特别详细具体的教程。在python官网上有关于list和dict数据结构的描述参考,如链接所示,但是没有关于时间复杂度和空间复杂度的分析。本文是对官网
系统 2019-09-27 17:47:00 1913
作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。本文是一系列关于Python正则表达式文章的其中一部分。在这个系列的第一篇文章中,我们将重点讨论如何使用Python中的正则表达式并突出Python中一些独有的特性。我们将介绍Python中对字符串进行搜索和查找的一些方法。然后我们讲讨论如何使用分组来处理我们查找到的匹配对象的子项。我们有兴趣使用的Python中正则表达式的模
系统 2019-09-27 17:46:54 1913
一般来说闭包这个概念在很多语言中都有涉及,本文主要谈谈python中的闭包定义及相关用法。Python中使用闭包主要是在进行函数式开发时使用。详情分析如下:一、定义python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure).这个定义是相对直白的,好理解的,不像其他定义那样学究味道十足(那些学究味道重的解释,在对一个名词的解释过程中又充满了一堆让人抓狂
系统 2019-09-27 17:45:52 1913
背景最近在写一个测试工具箱,里面有一个bug记录系统,因为后台我是用Django和MongoDB来实现的,就遇到了一个问题,要如何实现一个自增的字段。传统的关系型数据库要实现起来是非常容易,只要直接设置一个自增字段就行了,插入数据时不用管这个键值,只管自己处理的数据就行了,会自动实现自增的功能,但是非关系型数据库好像没有这个功能(或者我不知道)。百度之后发现都是MongoDB的设置方法,并不是我想要的。解决思路百度没有找到好的思路,那就只能自己解决了,我的
系统 2019-09-27 17:37:37 1913
无论是服务端还是客户端,都需要对接收到的消息进行处理,在ESFramework框架中,处理消息的组件称为消息处理器,所有的消息处理器都实现了接口IDataDealer:1publicinterfaceIDataDealer2{3NetMessageDealRequestMessage(NetMessagereqMsg);4}从DealRequestMessage方法的签名我们可以看到,将NetMessage的主体(是字节流)解析为IContract对象是由
系统 2019-08-29 23:05:25 1913
hibernate的两种事务管理jdbc和jta方式。下边说说两者的区别一、说明一下jdbc和jta方式事务管理的区别:JDBC事务由Connnection管理,也就是说,事务管理实际上是在JDBCConnection中实现。事务周期限于Connection的生命周期之内JTA事务管理则由JTA容器实现,JTA容器对当前加入事务的众多Connection进行调度,实现其事务性要求。JTA的事务周期可横跨多个JDBCConnection生命周期。二、在了解j
系统 2019-08-29 22:49:40 1913