- 军军小站|张军博客
搜索到与相关的文章
Python

使用Python中的greenlet包实现并发编程的入门教程

1动机greenlet包是Stackless的副产品,其将微线程称为“tasklet”。tasklet运行在伪并发中,使用channel进行同步数据交换。一个”greenlet”,是一个更加原始的微线程的概念,但是没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建构造器;不同于Python的构造器,我们的构造器可以嵌套的调用函数,而被嵌套的函数也可以yiel

系统 2019-09-27 17:49:28 1761

Python

Python中模块(Module)和包(Package)的区别详解

1.模块(Module)在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编

系统 2019-09-27 17:49:11 1761

Python

点开瞅瞅,再来几道Python面试题吧,Python面试题No20

本面试题题库,由公号:非本科程序员整理发布第1题:如何理解Django被称为MTV模式?这个题就是面向对象设计和设计模式的开始。你可能比较熟悉的模式叫做:MVC。说是ModelViewController,而在Django中因为Template来处理视图展现,所以称为:MTV。接下里会问到的就是分层的概念,有句话叫:“没有什么问题是不能通过增加一层解决的,如果有,那就再加一层。”当然还会有设计模式的一些原则等着你,比如开-闭原则、单一职责原则等。第2题:解

系统 2019-09-27 17:48:19 1761

Python

Python使用稀疏矩阵节省内存实例

推荐系统中经常需要处理类似user_id,item_id,rating这样的数据,其实就是数学里面的稀疏矩阵,scipy中提供了sparse模块来解决这个问题,但scipy.sparse有很多问题不太合用:1、不能很好的同时支持data[i,...]、data[...,j]、data[i,j]快速切片;2、由于数据保存在内存中,不能很好的支持海量数据处理。要支持data[i,...]、data[...,j]的快速切片,需要i或者j的数据集中存储;同时,为了

系统 2019-09-27 17:48:09 1761

Python

Python with as 的实现原理

有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。如果不用with语句,代码如下:file=open("/tmp/foo.txt")data=file.read()file.close()这里有两个问题。一是可能忘记关闭文件句柄;二是文件读取数据发生异常,没有进行任何处理。下面是处理异常的加强版本:file

系统 2019-09-27 17:48:03 1761

Python

Python 数据类型--list&tuple&dict&set

一、列表(list)列表(list)是python以及其他语言中最常用到的数据结构之一。Python使用中括号[]来解析列表。列表是可变的(mutable)——可以改变列表的内容。列表是Python的序列类型之一,也支持索引、切片等操作。1.1列表的定义1list1=['Google','Runoob',1997,2000]2list2=[1,2,3,4,5]3list3=["a","b","c","d"]与字符串的索引一样,列表索引从0开始。列表可以进行

系统 2019-09-27 17:47:30 1761

Python

经验拾忆(纯手工)=> Python正则全解详解

预编译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 1761

Python

给Python入门者的一些编程建议

Python是一种非常富有表现力的语言。它为我们提供了一个庞大的标准库和许多内置模块,帮助我们快速完成工作。然而,许多人可能会迷失在它提供的功能中,不能充分利用标准库,过度重视单行脚本,以及误解Python基本结构等。本文是一个关于Python新手可能会陷入的一些陷阱的不完全列表。不知道Python版本这是一个在StackOverflow上反复出现的问题。许多人能写出在某个版本上完美工作的代码,但在他们在自己的系统上安装有不同版本的Python。要确保你知

系统 2019-09-27 17:45:41 1761

Python

在Python中调用ggplot的三种方法

本文提供了三种不同的方式在Python(IPythonNotebook)中调用ggplot。在大数据时代,数据可视化是一个非常热门的话题。各个BI的厂商无不在数据可视化领域里投入大量的精力。Tableau凭借其强大的数据可视化的功能成为硅谷炙手可热的上市公司。Tableau的数据可视化的产品,其理论基础其实是《TheGrammarofGraphic》,该书提出了对信息可视化的图表的语法抽象体系,数据的探索和分析可以由图像的语法来驱动,而非有固定的图表类型来

系统 2019-09-27 17:38:39 1761

Python

Python实现截屏的函数

Python实现截屏的函数#-*-coding:cp936-*-importtime,Imageimportos,win32gui,win32ui,win32con,win32apidefwindow_capture(dpath):'''''截屏函数,调用方法window_capture('d:\\'),参数为指定保存的目录返回图片文件名,文件名格式:日期.jpg如:2009328224853.jpg'''hwnd=0hwndDC=win32gui.Get

系统 2019-09-27 17:38:39 1761