Python - 军军小站|张军博客
Python

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

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

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

Python

python计算器系统项目展示

我用了简单工厂和建造者模式,与python的GUI配合实现了一个简单的计算器系统,下面是运行结果,之后会向大家讲解。类图如下:部分代码如下:builderModel.py建造者模式代码classProduct():"""复杂产品类该类用于存放并返回两个操作数Attributes:self.NumOne:第一个操作数self.NumTwo:第二个操作数"""def__init__(self,NumOne,NumTwo):self.__NumOne=NumOn

系统 2019-09-27 17:49:07 1807

Python

【Python3网络爬虫开发实战】3.3-正则表达式

【摘要】本节中,我们看一下正则表达式的相关用法。正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索、替换、匹配验证都不在话下。当然,对于爬虫来说,有了它,从HTML里提取想要的信息就非常方便了。1.实例引入说了这么多,可能我们对它到底是个什么还是比较模糊,下面就用几个实例来看一下正则表达式的用法。打开开源中国提供的正则表达式测试工具http://tool.oschina.net/regex/,输入待匹配的文本,然后选择常用的

系统 2019-09-27 17:48:57 1807

Python

python基础学习笔记(八)

python基础学习笔记(八)2013-04-2600:11虫师阅读(...)评论(...)编辑收藏创建自已对象就python非常核心的概念,事实上,python被称为面向对象语言,本章会介绍如何创建对象。以及面向对象的概念:继承、封装、多态。多态:可对不同类的对象使用同样的操作。封装:对外部世界隐藏对象的工作细节。继承:以普通的类为基础建立专门的类对象。多态面向对象程序设计最有趣的特性是多太,它是是让大多数人犯晕的特性。所以,先来介绍这个。多态意思是“有

系统 2019-09-27 17:48:52 1807

Python

Hadoop中的Python框架的使用指南

最近,我加入了Cloudera,在这之前,我在计算生物学/基因组学上已经工作了差不多10年。我的分析工作主要是利用Python语言和它很棒的科学计算栈来进行的。但ApacheHadoop的生态系统大部分都是用Java来实现的,也是为Java准备的,这让我很恼火。所以,我的头等大事变成了寻找一些Python可以用的Hadoop框架。在这篇文章里,我会把我个人对这些框架的一些无关科学的看法写下来,这些框架包括:Hadoop流mrjobdumbohadoopyp

系统 2019-09-27 17:48:52 1807

Python

python爬虫re模块

python爬虫1《1》什么是爬虫网络爬虫?网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。《2》爬虫的基本原理:我们把互联网比喻为一张大网,网络爬虫我们想象为网上的蜘蛛,网页与网页之间的连接我们理解为节点,爬虫就相当于是访问网页,获取网页的信息,又通过节点可以爬取另一个网站,然后不停的通过一个个节点即访问一个个网页,这样网站的数据就可以被我们获取下来了。《3》爬虫的分类:网络爬虫可分为通用爬虫和聚焦爬虫

系统 2019-09-27 17:48:45 1807

Python

浅谈Python3 numpy.ptp()最大值与最小值的差

numpy.ptp()是计算最大值与最小值差的函数,用法如下:importnumpyasnpa=np.array([np.random.randint(0,20,5),np.random.randint(0,20,5)])print('原始数据\n'a)print('对所有数据计算\n',a.ptp())print('axis=0,按行方向计算,即每列\n',a.ptp(axis=0))#按行方向计算,即每列print('axis=1,按列方向计算,即每行

系统 2019-09-27 17:48:43 1807

Python

Python字符串详解

前一章介绍了python中的集中基本数据类型,本章着重记录python中str字符串类型数据的应用。str字符串主要由两种方法,一种是方法,一种是魔术方法。由于内容实在过于多,本章只介绍其中的方法。我会按照pycharm给的内置方法顺序(即字母排列顺序)全部依次介绍各种方法的使用。print(dir(str))"""'__add__','__class__','__contains__','__delattr__','__dir__','__doc__',

系统 2019-09-27 17:46:53 1807

Python

Python3快速入门(九)——Python3并发编程

Python3快速入门(九)——Python3并发编程一、Python线程模块1、线程简介一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程本身不拥有系统资源,与进程内的其它线程共享进程的所有资源。一个进程中至少有一个线程,并作为程序的入口,即主线程,其它线程称为工作线程。多线程,是指从软件或者硬件上实现多个线程并发执行的技术。支持多线程能力的计算机因有硬件支持而能够在同一时

系统 2019-09-27 17:46:47 1807

Python

python 专题训练收获(三)dict

默认dict,代表dict.keys(),而不是dict.items()排序字典,sorted(a.items(),key=lambdakv:kv[-1]),但是返回的是list,[('b',0),('a',1),('c',2)],然后再用dict[]一次,就能得到字典。注意,字典的Key可以不是字符。{0:'0'}dict.update({2:30})。添加字典的元素,两个字典的内容相加,就是用dict_a.updata(dict_b)。删除字典中的某个

系统 2019-09-27 17:46:33 1807

Python

Python数据处理脚本获得4倍提速,你需要加上这3行代码

Python是一门非常适合处理数据和自动化完成重复性工作的编程语言,我们在用数据训练机器学习模型之前,通常都需要对数据进行预处理,而Python就非常适合完成这项工作,比如需要重新调整几十万张图像的尺寸,用Python没问题!你几乎总是能找到一款可以轻松完成数据处理工作的Python库。然而,虽然Python易于学习,使用方便,但它并非运行速度最快的语言。默认情况下,Python程序使用一个CPU以单个进程运行。不过如果你是在最近几年配置的电脑,通常都是四

系统 2019-09-27 17:46:24 1807

Python

Python正则表达式之基础篇

正则表达式是用于处理字符串的强大工具,它并不是Python的一部分。其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。下图展示了使用正则表达式进行匹配的流程:1.1介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十

系统 2019-09-27 17:45:43 1807

Python

Python中if __name__ == '__main__'作用解析

当你打开一个.py文件时,经常会在代码的最下面看到if__name__=='__main__':,现在就来介绍一下它的作用.模块是对象,并且所有的模块都有一个内置属性__name__。一个模块的__name__的值取决于您如何应用模块。如果import一个模块,那么模块__name__的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这种情况下,__name__的值将是一个特别缺省"__main__"。//////

系统 2019-09-27 17:45:26 1807

Python

python xml.etree.ElementTree遍历xml所有节点实例

pythonxml.etree.ElementTree遍历xml所有节点XML文件内容:代码:#-*-coding:UTF-8-*-#从文件中读取数据importxml.etree.ElementTreeasET#全局唯一标识unique_id=1#遍历所有的节点defwalkData(root_node,level,result_list):globalunique_idtemp_list=[unique_id,level,root_node.tag,r

系统 2019-09-27 17:38:43 1807

Python

Python实现简单多线程任务队列

最近我在用梯度下降算法绘制神经网络的数据时,遇到了一些算法性能的问题。梯度下降算法的代码如下(伪代码):defgradient_descent():#thegradientdescentcodeplotly.write(X,Y)一般来说,当网络请求plot.ly绘图时会阻塞等待返回,于是也会影响到其他的梯度下降函数的执行速度。一种解决办法是每调用一次plotly.write函数就开启一个新的线程,但是这种方法感觉不是很好。我不想用一个像cerely(一种分

系统 2019-09-27 17:37:56 1807