自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 Scrapy架构及部分源码解析

Scrapy架构分析Spider及CrawlSpider源码分析Middlewares运作原理及部分源码分析Pipelines运作原理及部源码分析Scrapy架构Scrapy是用Twisted编写的,Twisted是一个流行的事件驱动的Python网络框架。因此,它使用非阻塞(也称为异步)代码实现并发。Scrapy官方文档中的系统架构图:Scrapy中的数据流动由执行引擎控制,过...

2019-07-24 10:51:18 1378 1

原创 Django REST Framework学习笔记

Django REST Framework学习笔记,这里不会对Django做介绍,只是自己对Django REST Framework学习的记录。环境说明:Python3.7Django2.2DRF是什么?为何要使用DRF?WHAT:Django REST framework是一套基于Django框架编写RESTful风格API的组件(功能强大且灵活的工具包),用于构建Web...

2019-07-10 20:09:48 938

原创 描述符协议

描述符描述符简介描述符协议调用描述符描述符示例常见的描述符1 简介Python 描述符是对多个属性运用同种存取逻辑的一种方式。如,Django ORM和SQL Alchemy中的字段类型就是描述符,把数据库记录中的字段里的数据与Python对象的属性对应起来。Python 没有私有变量的概念,而描述符协议可以作为一种 Python 的方式来实现与私有变量类似的功能。一般来说,...

2019-06-05 16:30:48 365

原创 Python标准库—platform模块

platformos模块中某些功能不是跨平台的(意味着不是始终可用),而platform模块提供了很多跨平台的功能(函数)。跨平台函数platform.platform(aliased=0, terse=0)返回标识基础平台的单个字符串,其中包含尽可能多的有用信息。>>> platform.platform()'Windows-10-10.0.14393-SP0'...

2019-08-26 09:24:31 2574

原创 Python标准库—os.path模块

os.pathos.path.join(path, *paths)将多个路径结合,建立一个新路径。>>> os.path.join('c:\\phpStudy','x.html')'c:\\phpStudy\\x.html'>>> os.path.join('c:\\phpStudy','www','index.php')'c:\\phpStud...

2019-08-26 09:23:37 279

原创 Python标准库—sys模块

syssys模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数。此模块始终可用。sys.argv传递给Python脚本的命令行参数列表。argv[0]是脚本名称(取决于操作系统是否为完整路径名)。如果使用-c解释器的命令行选项执行命令,argv[0]则将其设置为字符串'-c'。如果没有脚本名称传递给Python解释器,argv[0]则为空字符串。sys.exec...

2019-08-26 09:22:47 451

原创 Python标准库—argparse模块

argparseArgumentParser 对象class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_cha...

2019-08-26 09:21:54 229

原创 Python标准库—copy模块

copyPython 中赋值语句不复制对象,而是在目标和对象之间创建绑定 (bindings) 关系。对于自身可变或者包含可变项的集合对象,开发者有时会需要生成其副本用于改变操作,进而避免改变原对象。copy模块提供了通用的浅层复制和深层复制操作。copy.copy(x)返回x的浅拷贝。>>> import copy>>> >>&gt...

2019-08-26 09:20:44 7122 3

原创 Python标准库—weakref模块

weakrefweakref模块允许Python程序员创建对对象的弱引用。对对象的弱引用不足以使对象保持活动状态:当对引用的唯一剩余引用是弱引用时, 垃圾收集可以自由地销毁引用并将其内存重用于其他内容。但是,在实际销毁对象之前,弱引用可能会返回对象,即使没有对它的强引用也是如此。弱引用的主要用途是实现保存大对象的高速缓存或映射,其中希望大对象不能仅仅因为它出现在高速缓存或映射中而保持活动。...

2019-08-26 09:19:55 1543

原创 Python标准库—pprint模块

pprintpprint模块提供了一种“漂亮打印”任意Python数据结构的功能(美化输出),该形式可用作解释器的输入。类class pprint.PrettyPrinter(indent=1, width=80, depth=None, stream=None, *, compact=False)indent:缩进;width:一行最大宽度,默认80个字符;depth:打印的深度—...

2019-08-26 09:19:00 693

原创 Python标准库—dis模块

disdis模块通过反汇编支持CPython 字节码的分析。注意:Bytecode是CPython解释器的实现细节——不保证不会在Python版本之间添加,删除或更改字节码。不应将此模块的使用视为跨Python VM或Python版本。Bytecode字节码分析API允许将Python代码片段包装在一个 Bytecode对象中,以便轻松访问已编译代码的详细信息。class dis.Byt...

2019-08-26 09:18:00 1492

原创 Python标准库—collections模块

Collections这个模块实现专门的容器数据类型提供替代Python的通用内置容器dict,list, set,和tuple。namedtuple()用于创建具有命名字段的元组子类工厂函数。deque类似列表的容器,可在两端进行快速的添加和删除。Counter用于对可hash对象计数的dict子类OrderedDictdefaultDictUserD...

2019-08-26 09:16:38 320

原创 Python标准库—array模块

array类型代码该模块定义了一个对象类型,可以表示一个基本值的数组:整数、浮点数、字符。通过使用类型代码在对象创建时指定类型,类型代码定义如下表。Type codeC TypePython TypeMinimum size in bytesNotes'b'signed charint1'B'unsigned charint1'u'Py...

2019-08-26 09:15:25 854 1

原创 Python标准库—multiprocessing模块

multiprocessingmultiprocessing 是一个用与 threading模块相似API的支持产生进程的包。 multiprocessing包同时提供本地和远程并发,使用子进程代替线程,有效避免 Global Interpreter Lock(GIL)带来的影响。因此, multiprocessing模块允许程序员充分利用机器(Unix 或 Windows)上的多个核心。mu...

2019-08-26 09:14:09 917

原创 Python标准库—函数式编程模块itertools/functools/operator

函数式编程模块itertools模块functools模块operator模块itertoolsitertools.count(start=0, step=1)创建一个迭代器,它从 start 值开始,返回均匀间隔的值。类似如下代码:def count(start=0, step=1): """ count(5,5) -> 5 10 15 20 25 3...

2019-08-26 09:11:36 301

原创 Python—threading模块

threadingCPU密集型与I/O密集型计算密集型:CPU密集型也叫计算密集型,要进行大量的计算,消耗CPU资源(CPU占用率高)。I/O密集型:CPU占用率低,任务的大部分时间都在等待IO操作完成(因为IO的速度远远低于CPU和内存的速度)。GILCPython下,因为 Global Interpreter Lock(GIL),一个时刻只有一个线程可以执行Python代码(尽管...

2019-08-26 09:07:34 245

原创 Python标准库—datetime模块

datetime时间对象有两种日期和时间的对象:“无知型“和”感知型“。感知型:感知型对象有着足以支持一些应用层面算法和国家层面时间调整的信息——例如时区和夏令时,来让自己和其他的感知型对象区别开来。无知型:无知型对象没包含足够多的信息来明确定位与之相关的 date/time 对象。 无知型对象所代表的是世界标准时间(UTC)、当地时间或者是其它时区的时间完全取决于程序——就像一个数字是...

2019-08-25 22:31:09 311

原创 Python标准库—time模块

timetime模块提供了各种时间相关的函数,相关功能还可以参阅 datetime 和 calendar 模块。术语与惯例epoch:纪元(epoch)是时间开始的点,取决于平台;对于Unix, epoch 是1970年1月1日00:00:00(UTC);可使用time.gmtime(0)查看给定平台上的 epoch 。>>> time.gmtime(0)time....

2019-08-25 22:27:01 262

原创 Python标准库—timeit模块

timeittimeit模块提供了一种简单的方法来计算一小段 Python 代码的耗时。它有 命令行界面 以及一个 可调用 方法。命令行界面python -m timeit [-n N] [-r N] [-u U] [-s S] [-h] [statement ...]-n N,–nu’mber=N:执行语句多少次。-r N,–repeat=N:重复计时器的次数,默认为5.-s S...

2019-08-25 22:24:29 440

原创 Python标准库—decimal模块

decimaldecimal模块为快速正确舍入的十进制浮点运算提供支持。它提供了 float数据类型以外的几个优点:十进制数字可以准确表示:数字如 1.1 和 2.2 在二进制浮点中没有精确的表示。>>> 1.1 + 2.23.3000000000000003>>> from decimal import Decimal>>> ...

2019-08-25 22:22:27 4989

原创 Python标准库—random模块

randomrandom模块实现了各种分布的伪随机数生成器。该模块提供的函数实际上是 random.Random类的隐藏实例的绑定方法,你可以实例化自己的 Random 类实例以获取不共享状态的生成器。簿记功能random.seed(a=None, version=2)初始化随机数生成器。random.getstate()返回捕获生成器当前内部状态的对象, 这个对象可以传递给 ...

2019-08-25 22:18:53 199

原创 Python标准库—math模块

mathmath模块提供了对C标准定义的数学函数的访问,但这些函数不适用于复数;如果你需要计算复数,需要使用cmath模块中的同名函数。函数描述math.ceil(x)返回 x 的上限,即大于或者等于 x 的最小整数math.floor(x)返回 x 的下限,即小于或者等于 x 的最大整数math.fabs(x)返回 x 的绝对值math.facto...

2019-08-25 22:16:42 514

原创 Python标准库—codecs模块

codecs常用函数codecs.encode(obj, encoding='utf-8', errors='strict')使用为 encoding 注册的编解码器对 obj 进行编码,类似str.encode()方法。>>> codecs.encode("你好,world",encoding='ascii')Traceback (most recent call...

2019-08-25 22:14:10 3837

原创 Python标准库—struct模块

struct将字节打包为二进制数据。struct模块负责Python bytes对象在Python Value及C struct之间的转换。可以处理文件二进制数据、网络连接数据流或是其他源数据。它使用 Format Strings作为C结构布局的简洁描述以及与Python值的预期转换。字节顺序,大小和对齐方式第一个Format String可用于打包数据的字节顺序、大小和对齐。C...

2019-08-25 22:12:15 872

原创 Python标准库—json模块

json—Json编解码JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。Python使用json库编解码JSON对象:json 提供了与标准库marshal和pickle相似的API接口。注意:json模块总是会产生str对象,而不是 bytes对象。函数描述json.dumps将 Python 对象编码成...

2019-08-25 22:10:43 197

原创 Python标准库—pickle/marshal模块

pickle——Python对象序列化模块pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化。 “Pickling” 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 “unpickling” 是相反的操作,会将(来自一个binary file或者bytes-like object的)字节流转化回一个对象层次结构。注意:pickle是Pytho...

2019-08-25 22:08:47 787

原创 正则表达式

正则表达式正则表达式(称为RE,或正则,或正则表达式模式)本质上是嵌入在Python中的一种微小的、高度专业化的编程语言,Python通过标准库中的re模块来支持正则表达式。使用这种小语言,你可以为要匹配的可能字符串集指定规则;此集可能包含url,电子邮件地址,电话号码或你喜欢的任何内容。正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。1 元字符与特殊字符...

2019-08-25 22:03:54 702 1

原创 一等对象之函数

Python 函数什么是一等对象高阶函数匿名函数函数内省1 一等对象在Python中,函数是一等对象。一等对象定义如下:运行时创建能赋值给变量或数据结构中的元素能作为参数传递给函数能作为函数返回值即,函数和变量没什么“不同”,都是一等对象。2 函数即对象def factorial(n): """return n!""" return 1 if n&...

2019-08-25 22:01:17 200

原创 类与继承

类与继承1 多重继承1.1 方法解析顺序MRO提出问题:如果同级别的超类定义了同名属性,Python如何决定使用哪一个?答案是:方法解析顺序(Method Resolution Order)任何实现多重继承的语言都要处理潜在的命名冲突,这种冲突由不相关的祖先类实现同名方法引起。这种冲突叫做砖石(菱形)继承问题,如下图:第一个图是菱形问题的UML类图,第二个图橙色标记是示例的方法解析顺...

2019-08-25 21:58:44 176

原创 可迭代对象、迭代器、生成器

可迭代对象、迭代器、生成器迭代器用于从集合中取出元素,而生成器用于“凭空”产生元素。可迭代对象迭代器生成器iter函数1 什么是可迭代对象?使用iter内置函数可以获取迭代器的对象叫可迭代对象。如果对象实现了能返回迭代器的__iter__方法,那么对象就是可迭代的;序列都可以迭代;实现了__getitem__方法,而且其参数是从0开始的索引,这种对象也是可迭代的。Python从...

2019-08-25 21:55:56 101

原创 Python函数参数类型解析

Python函数参数类型解析python参数类型一共有五种:POSITIONAL_OR_KEYWORDVAR_POSITIONALVAR_KEYWORDKEYWORD_ONLYPOSITIONAL_ONLY(1)POSITIONAL_OR_KEYWORD:可以通过定位(位置)参数和关键字参数传入的形参,这是最常见的一种参数。def power(x, n=2): """r...

2019-08-25 21:54:23 651

原创 JavaScript学习笔记

常说的JavaScript包含两部分:JavaScript基础知识(ECMA262标准)JS-Web-API(W3C标准)JavaScript基础知识变量类型undefinedbooleanstringnumberfunctionobject值类型:各个类型都可以明确区分console.log(typeof undefined)//undefinedconsol...

2019-07-14 15:32:22 357

原创 特殊方法(dunder-method)

特殊方法(dunder-method)特殊方法名称基本定制自定义属性访问描述符协议特殊属性处理属性的内置函数容器类型序列协议迭代器协议上下文管理器协议子类检查自定义类创建解析MRO条目可调用对象数字类型1 特殊方法名称一个类可以通过定义具有特殊名称的方法来实现由特殊语法所引发的特定操作 (例如算术运算或下标与切片)。这是 Python 实现操作符重载的方式,允...

2019-06-22 20:42:11 1452

原创 Python装饰器

函数装饰器装饰器简介装饰器基本知识闭包参数化装饰器标准库中的装饰器1 简介Python里我们经常能见到@开头的句法,没错@符号就是装饰器的语法糖,也就是人们常说的装饰器(decorator)。装饰器是Python非常重要的一部分,能够产出更易于维护的代码。装饰器本质上是一个Python函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一...

2019-06-05 16:21:43 391

原创 大数据技术原理与应用笔记(3)——分布式文件系统HDFS

分布式文件系统HDFS大数据技术以及具有代表性的Hadoop平台,所要解决的最核心的两大问题是:大数据的分布式存储大数据的分布式处理而HDFS(Hadoop Distributed File System)就是为了解决海量数据的分布式存储问题。3.1 分布式文件系统(1)计算机集群结构分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群。与之前使...

2019-05-11 23:01:59 1740

原创 大数据技术原理与应用笔记(2)——大数据处理架构Hadoop

2.1 Hadoop简介Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中。Hadoop的核心是分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce。Hadoop被公认为行业大数据标...

2019-05-11 22:57:59 536

原创 Logistic回归

Logistic回归Logistic回归常用于二分类问题。当然,也可以用于多分类,多分类可以使用softmax方法进行处理。二分类在二分分类问题中,对于某个输入,输出的结果是离散的值。示例:Cat与Non-Cat,构建一个猫图分类器,即输入一张图片,希望该分类器准确判断出该图片是否为猫图,并输出它的预测结果(猫图1,非猫图0)。彩色图像以三个独立的矩阵存储在计算机中,分别对应于图像红色、...

2019-05-03 16:59:36 665

原创 大数据技术原理与应用笔记(1)——大数据概述

大数据概述《大数据技术与原理》课程笔记目录1.1大数据概念1.2数据产生方式1.3技术支撑1.4大数据的影响1.5大数据的关键技术1.6大数据的计算模式1.1大数据概念(1)数据量大/“大量化”(2)数据类型繁多/“多样化”10%结构化数据,90%非结构化数据(3)处理速度快/“快速化”1秒定律——秒级决策(4)价值密度低,商业价值高/“...

2019-04-27 09:46:22 2939

原创 Docker安装及简单镜像制作

本文章为《云计算》课程实验总结,使用CentOS7安装Docker并进行简单镜像制作。注意:Docker要求CentOS系统的内核版本高于 3.10,可使用uname -r查看系统内核。1 Docker安装(1)更新yum包yum update (2)安装依赖包yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖...

2019-04-13 16:41:38 551

原创 Spark集群搭建

在已搭建好的Hadoop集群环境下,进行搭建Spark集群环境。1 前言1.1Spark集群搭建步骤(1)Hadoop集群的搭建(2)Scala软件安装(3)Spark集群搭建1.2环境说明具体配置参考我的另一篇文章《CentOS7搭建Hadoop集群环境》:(1)三台CentOS7(最小化安装)虚拟机:master、slave1、slave2(2)软件:jav...

2019-04-09 17:13:03 316

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除