搜索到与相关的文章
Python

python 插件架构 多线程多任务

目的:很多时候,我们需要多个不同策略去完成一个任务,那个插件架构是很好一个选择。而每一个策略,不希望一个个去执行,还能实时上报数据,所以每一个插件都是异步执行,把每一个插件结果回调方法实时上报,然后写入数据。线程工具类#app/MyThread.pyimportthreadingclassMyThread(threading.Thread):def__init__(self,func,**kwargs):threading.Thread.__init__(

系统 2019-09-27 17:46:01 1956

Python

Python3.0与2.X版本的区别实例分析

本文通过列举出一些常见的实例来分析Python3.0与2.X版本的区别,是作者经验的总结,对于Python程序设计人员来说有不错的参考价值。具体如下:做为一个前端开发的码农,最近通过阅读最新版的《AbyteofPython》并与老版本的《AbyteofPython》做对比后,发现Python3.0在某些地方还是有些改变的。之后再查阅官方网站的文档,总结出一下区别:1.如果你下载的是最新版的Python,就会发现所有书中的HelloWorld例子将不再正确。

系统 2019-09-27 17:46:01 1956

Python

Python深入学习之闭包

闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。不同的语言实现闭包的方式不同。Python以函数对象为基础,为闭包这一语法结

系统 2019-09-27 17:45:47 1956

Python

详解Python编程中包的概念与管理

Python中的包包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的Python的应用环境。考虑一个在Phone目录下的pots.py文件。这个文件有如下源代码:#!/usr/bin/python#-*-coding:UTF-8-*-defPots():print"I'mPotsPhone"同样地,我们有另外两个保存了不同函数的文件:Phone/Isdn.py含有函数Isdn()Phone/G3.py含有函数G3()现在,在Ph

系统 2019-09-27 17:38:41 1956

Python

使用Python中的线程进行网络编程的入门教程

引言对于Python来说,并不缺少并发选项,其标准库中包括了对线程、进程和异步I/O的支持。在许多情况下,通过创建诸如异步、线程和子进程之类的高层模块,Python简化了各种并发方法的使用。除了标准库之外,还有一些第三方的解决方案,例如Twisted、Stackless和进程模块。本文重点关注于使用Python的线程,并使用了一些实际的示例进行说明。虽然有许多很好的联机资源详细说明了线程API,但本文尝试提供一些实际的示例,以说明一些常见的线程使用模式。全

系统 2019-09-27 17:38:28 1956

Python

Python内建数据结构详解

一、列表(List)list是一个可以在其中存储一系列项目的数据结构。list的项目之间需用逗号分开,并用一对中括号括将所有的项目括起来,以表明这是一个list。下例用以展示list的一些基本操作:#定义一个list对象class_list:class_list=['Michael','Bob','Tracy']#获得一个class_list的长度print'classhave',len(class_list),'students'#访问class_lis

系统 2019-09-27 17:38:23 1956

Python

python代码 if not x: 和 if x is not None

代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是`ifxisNone`;第二种是`ifnotx:`;第三种是`ifnotxisNone`(这句这样理解更清晰`ifnot(xisNone)`)。如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:>>>x=1>>>notxFalse>>>x=[1]>>>notxFalse>>>x=0>>>notxTrue>>>x=[0]#Youdon'twanttofallinth

系统 2019-09-27 17:38:05 1956

编程技术

Jexi设计 (8) 使用SWT创建GUI

目前Document类的结构已经比较完善了,由于编辑Document涉及到界面,所以先把GUI写出来。用Java做界面一直是比较麻烦的事情,早期的AWT太慢,现在很少用了,Swing我没用过,但速度也快不了多少,最后发现SWT是一个不错的本地库,速度够快,而且效果和本地平台一样(因为是调用的平台相关API),不仔细看根本看不出是java做的。不过,考虑到移植性,我决定把Frame分成平台无关和相关两层,这样就有足够的灵活性,将来可以用Swing或者其他GU

系统 2019-08-29 23:45:24 1956

编程技术

结构体内在对齐

本文为本人另一个账号上的文章,那个账号不要了,乾坤大挪移过来。最近遇到结构体内存对齐的问题,发现自己一知半解,于是在网上搜集了些资料,总结如下。一、规则每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragmapack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”,VC++默认n=8。对齐分两步,第一步:数据成员对齐;第二步:结构体对齐。数据成员对齐:每个结构体成员所分配的存

系统 2019-08-29 23:43:20 1956

编程技术

你真的会数钱吗?

摘要:货币,记账相关的领域模型,使用值对象快年底了,假如你们公司的美国总部给每个人发了一笔201212.21美元的特别奖金,作为程序员的你,该如何把这笔钱收入囊中?1.美元?美元!你可能觉得,这根本不是问题。在自己的账户中直接加上一笔“转入”就行了。但是首先就遇到了币种的问题。一般来说,银行账户都是单币种的。你可能会说不对啊,我的一卡通就能存入不同的币种啊?但那是一个“账号(AccountNumber)”对应的多个“账户(Account)”。通常财务记账的

系统 2019-08-29 23:23:04 1956