在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象python都会分配一个固定大小内存的字典来保存属性,如果对象很多的情况下会浪费内存空间。可通过__slots__方法告诉python不要使用字典,而且只给一个固定集合的属性分配空间classFoo(object):__slots__=("x","y","z")def__init__(self,x,y):self.x=
系统 2019-09-27 17:47:50 2051
好吧,我承认我是对晚上看到一张合适的票转让但打过电话去说已经被搞走了这件事情感到蛋疼。直接上文件吧。#coding:utf-8'''春运查询火车票转让信息Author:piglei2007@gmail.comDate:2011.01.25'''importreimportosimporttimeimporturlparseimportdatetimeimporttracebackimporturllib2importsocketsocket.setdefa
系统 2019-09-27 17:47:42 2051
下面仅以多线程为例:首先需要明确几个概念:知识点一:当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下(其实就是setDaemon(False)),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务结束,例子见下面一。知识点二:当我们使用setDaemon(True)方法,设置子线程为守护线程时,主线程一旦执行结束,则全部线程全部被
系统 2019-09-27 17:47:34 2051
序列化(Serialization)是将对象的信息转换为可以存储或传输的形式,后续还可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。在python中也可以进行序列化相关的操作,只是序列化的时候需要将对象保存为一个字典的类型。对于Python内置的数据类型(如str,unicode,int,float,bool,None,list,tuple,dict),可以直接进行序列化/反序列化处理;对于自定义类的对象进行序列化和反序列化时,需要我们自己定义
系统 2019-09-27 17:47:18 2051
Python命令行之旅:深入argparse(二)作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在上一篇“深入argparse(一)”的文章中,我们深入了解了argparse的包括参数动作和参数类别在内的基本功能,具备了编写一个简单命令行程序的能力。本文将继续深入了解argparse的进阶玩法,一窥探其全貌,助
系统 2019-09-27 17:47:15 2051
1.简介在编写代码时,往往涉及时间、日期、时间戳的相互转换。2.示例#引入模块importtime,datetime2.1str类型的日期转换为时间戳#字符类型的时间tss1='2013-10-1023:40:00'#转为时间数组timeArray=time.strptime(tss1,"%Y-%m-%d%H:%M:%S")printtimeArray#timeArray可以调用tm_year等printtimeArray.tm_year#2013#转为时
系统 2019-09-27 17:46:52 2051
预编译importrere1=re.compile(r'元字符组成的正则规则')#元字符下面会说re1.方法()#方法下边也会说元字符:表示普通字符:.#除了\n外都可以匹配的到\d#只匹配纯数字0-9\D#和\d相反,除了数字全都匹配\s#只匹配空格\S#和\s相反,除了空格,全都匹配#我喜欢用[\s\S]*?匹配所有\w#只匹配纯数字或大小写字母或下划线\W#与\w恰好相反,除了纯数字、大小写字母、下划线全都匹配[]#[abcde]只要包含这个列表的字
系统 2019-09-27 17:46:42 2051
Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建。主要涉及到三个函数:1、os.path.exists(path)判断一个目录是否存在2、os.makedirs(path)多层创建目录3、os.mkdir(path)创建目录直接上代码:复制代码代码如下:defmkdir(path):#引入模块importos#去除首位空格path=path.strip()#去除尾部\符号path=path.rstrip("\\"
系统 2019-09-27 17:46:08 2051
本文实例讲述了Python中__call__的用法,分享给大家供大家参考之用。具体方法如下:先来看看如下示例代码:#call.py一个class被载入的情况下。classNext:List=[]def__init__(self,low,high):forNuminrange(low,high):self.List.append(Num**2)def__call__(self,Nu):returnself.List[Nu]如果这样使用:b=Next(1,7)
系统 2019-09-27 17:45:55 2051
set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素.集合对象还支持union(联合),intersection(交集),difference(差集)和sysmmetricdifference(对称差集)等数学运算。sets不支持indexing。frozenset是不可变的Set。set的形式是{1,2},有点像字典。set.add(1),set.update([3,
系统 2019-09-27 17:45:55 2051