单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建AppConfig对象的实例,这就导致系统中存在多个AppConfig的实
系统 2019-09-27 17:49:13 1715
PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台。关于PyHook的使用,在它的官方主页上就有一个简单的教程,大体上来说,可以这样使用#-*-coding:utf-8-*-#3importpythoncom4importpyHook5defonMouseEvent
系统 2019-09-27 17:47:22 1715
简介Python的序列(sequence)通常指一个可迭代的容器,容器中可以存放任意类型的元素。列表和元组这两种数据类型是最常被用到的序列,python内建序列有六种,除了刚刚有说过的两种类型之外,还有字符串、Unicode字符串、buffer对像和最后一种xrange对像,这几种都是不常使用的。本文讲解了列表推导式、切片命名、列表元素排序、列表元素分组的使用方法。学习了Python基本的列表操作后,学习这些进阶的操作,让我们写出的代码更加优雅简洁和pyt
系统 2019-09-27 17:38:41 1715
最近学习了python的一些服务器端编程,记录在此。发送get/post请求#coding:utf-8importhttplib,urllib#加载模块#urllib可以打开网站去拿#res=urllib.urlopen('http://baidu.com');#printres.headers#定义需要进行发送的数据params=urllib.urlencode({'param':'6'});#定义一些文件头headers={"Content-Type"
系统 2019-09-27 17:38:17 1715
面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。下面就来总结一下学习后的解决方案。1,使用2个下划线前缀隐藏属性或者方法。__xxx#!/usr/b
系统 2019-09-27 17:38:10 1715
在语句Book.objects.all()中,objects是一个特殊的属性,需要通过它查询数据库。在第5章,我们只是简要地说这是模块的manager。现在是时候深入了解managers是什么和如何使用了。总之,模块manager是一个对象,Django模块通过它进行数据库查询。每个Django模块至少有一个manager,你可以创建自定义manager以定制数据库访问。下面是你创建自定义manager的两个原因:增加额外的manager方法,和/或修ma
系统 2019-09-27 17:37:39 1715
EventHandler在HDA中,要创建Python脚本,需要先选择一个事件处理器(EventHandle),他表示你要在什么时候执行你现在所创建的脚本命令OnCreated(在节点创建时,执行脚本)如选择此项编辑Python脚本,Python将会在节点创建时执行Python中的命令PythonModel(Python模式)这一项会使创建的脚本在使用过程中根据用户设置执行可以使用这一项给节点设置参数提示等功能OnDelete(在节点创建时执行脚本)Pyt
系统 2019-09-27 17:51:26 1714
1、str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况。>>>s1="aabbcc">>>s1.split('')['aa','bb','','cc']因此split只适合简单的字符分割2、re.split,支持正则及多个字符切割>>>printlineabcaa;bb,cc|dd(xx).xxx12.12'xxxx按空格切>>>re.split(r'',line)['abc','aa;bb,cc','|','d
系统 2019-09-27 17:50:51 1714
目录一、线程定时器二、用法一、线程定时器线程定时器也是定时器,就是定时之后开启一条线程二、用法'''线程定时器,就是规定时间后开启一条线程'''deftask():print('线程执行了')time.sleep(2)print('线程结束了')t=Timer(4,task)#间隔时间,功能函数t.start()
系统 2019-09-27 17:49:44 1714
用python和numpy处理数据次数比较多,写了几个小函数,可以方便地读写数据:#-*-coding:utf-8-*-#----------------------------------------------------------------------#FileName:gettxtdata.py#功能:读取字符串和文件中的数值数据(浮点数)#主要提供类似matlab中的dlmread和dlmwrite函数#同时提供loadtxtdata和sav
系统 2019-09-27 17:47:34 1713