算法和排序
摘要:一、介绍 1.概念 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能
阅读全文
posted @
2018-01-31 21:44
Sober--
阅读(175)
推荐(0)
面试题(一)
摘要:1.python中is和==的区别? 2. 中间件一般都做什么? 3.类中的@classmethod、@staticmethod和@@property的用法和效果。 4.python的自省 5.可变对象与不可变对象 6.去除一个列表中的重复内容,原顺序不变 7.阅读以下代码写出结果 8.什么是lam
阅读全文
posted @
2018-01-30 19:43
Sober--
阅读(147)
推荐(0)
python中的单例模式
摘要:单例模式是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某一个类只能出现一个实例时,单例模式就能派上用场了。 如某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要
阅读全文
posted @
2018-01-30 17:00
Sober--
阅读(221)
推荐(0)
python中的*args和**kwargs
摘要:多个实参,放到一个元祖里面,以*开头,可以传多个参数;**是形参中按照关键字传参把多余的传值以字典的方式呈现。 一、*args 介绍:表示的就是将实参中按照位置传值,多出来的值都给args,且以元祖的方式呈现 示例代码 执行结果 注:当arg与位置参数和默认参数混用的情况下(注意三者的顺序) 示例一
阅读全文
posted @
2018-01-30 16:28
Sober--
阅读(228)
推荐(0)
pandas:数据分析
摘要:一、介绍 pandas是一个强大的Python数据分析的工具包,是基于NumPy构建的。 1.主要功能 2.安装方法 3.引用方法 二、Series Series是一种类似于一位数组的对象,由一组数据和一组与之相关的数据标签(索引)组成。 获取值数组和索引数组:values属性和index属性Ser
阅读全文
posted @
2018-01-29 21:08
Sober--
阅读(199)
推荐(0)
NumPy(数组计算)
摘要:一、介绍 NumPy是高性能科学计算和数据分析的基础包。它是pandas等其他各种工具的基础。 1.主要功能 1)ndarray,一个多维数组结构,高效且节省空间2)无需循环对整组数据进行快速运算的数学函数3)读写磁盘数据的工具以及用于操作内存映射文件的工具4)线性代数、随机数生成和傅里叶变换功能5
阅读全文
posted @
2018-01-29 20:16
Sober--
阅读(732)
推荐(0)
量化投资与python
摘要:一、了解 1.Ipython基础功能 Ipython:交互式的python命令行 具体用法 2.Ipython高级功能 3.魔术命令 4.IPython Notebook 5.安装jupyter notebook 界面从上而下由四个区域组成:notebook 的名称(点击即可修改)、提供保存、导出、
阅读全文
posted @
2018-01-29 19:48
Sober--
阅读(390)
推荐(0)
量化投资与python
摘要:一、了解 1.Ipython基础功能 Ipython:交互式的python命令行 具体用法 2.Ipython高级功能 3.魔术命令 4.IPython Notebook 5.安装jupyter 二、Ipython快捷键 三、魔法命令 四、Ipython调试器命令
阅读全文
posted @
2018-01-29 19:46
Sober--
阅读(549)
推荐(0)
vue-cli之脚手架
摘要:一、创建VUE项目 补充: 组件:它是可扩展的html,里面包括 <template></template><script></script><style></style> vue框架的特性:能够实现热重载 二、vue项目目录结构 出现下图页面就说明搭建成功 三、import 和 require 的
阅读全文
posted @
2018-01-29 15:40
Sober--
阅读(195)
推荐(0)
Node.js
摘要:一、初始 补充: python: 自己创建服务 php:apache java: tomcat node.js:express(基于node.js平台的web应用框架,灵活方便,能够快速创造出服务端应用程序,安装命令 npm install express --save-dev) 二、安装 1.no
阅读全文
posted @
2018-01-29 14:51
Sober--
阅读(153)
推荐(0)
ES6
摘要:一、let命令 1.具体操作 用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。 上面代码在代码块之中,分别用let和var声明了两个变量。然后在代码块之外调用这两个变量,结果let声明的变量报错 var声明的变量返回了正确的值。这表明,let声明的变量只在它所
阅读全文
posted @
2018-01-26 22:28
Sober--
阅读(148)
推荐(0)
初始Vue
摘要:一、介绍 1、什么是Vue? 是一个构建用户界面的javascript框架. 2.为什么要用? 轻量、高效、容易上手 3.什么是前后端分离? 前后端分离意味着,前后端之间使用 JSON 来交流,两个开发团队之间使用 API 作为契约进行交互。从此,后台选用的技术栈不影响前台。 二、使用 1)引入vu
阅读全文
posted @
2018-01-25 19:39
Sober--
阅读(170)
推荐(0)
enumerate用法
摘要:enumerate()说明 -enumerate()是python的内置函数 -enumerate在字典上是枚举、列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值 enumerate多用于在for循环
阅读全文
posted @
2018-01-24 22:13
Sober--
阅读(292)
推荐(0)
Scrapy框架
摘要:一、介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon As
阅读全文
posted @
2018-01-24 19:08
Sober--
阅读(212)
推荐(0)
爬虫性能相关
摘要:一、背景知识 爬虫的本质就是一个socket客户端与服务端的通信过程,如果我们有多个url待爬取,只用一个线程且采用串行的方式执行,那只能等待爬取一个结束后才能继续下一个,效率会非常低。 需要强调的是:对于单线程下串行N个任务,并不完全等同于低效,如果这N个任务都是纯计算的任务,那么该线程对cpu的
阅读全文
posted @
2018-01-22 20:10
Sober--
阅读(221)
推荐(0)
MongoDB
摘要:一、简介 MongoDB是一款强大、灵活、且易于扩展的通用型数据库1、易用性 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。不采用关系型主要是为了获得更好得扩展性。当然还有一些其他好处,与关系数据库相比,面向文档的数据库不再有“行“(row)的概念取
阅读全文
posted @
2018-01-22 18:54
Sober--
阅读(207)
推荐(0)
selenium模块
摘要:一、介绍 二、安装 #安装:selenium+chromedriver pip3 install selenium 下载chromdriver.exe放到python安装路径的scripts目录中即可,注意最新版本是2.29,并非2.9 国内镜像网站地址:http://npm.taobao.org/
阅读全文
posted @
2018-01-20 11:22
Sober--
阅读(388)
推荐(0)
爬虫练习三(破解滑动验证码)
摘要:一、介绍 一些网站会在正常的账号密码认证之外加一些验证码,以此来明确地区分人/机行为,从一定程度上达到反爬的效果,对于简单的校验码Tesserocr就可以搞定,如下 但一些网站加入了滑动验证码,最典型的要属于极验滑动认证了,极验官网:http://www.geetest.com/,下图是极验的登录界
阅读全文
posted @
2018-01-19 18:59
Sober--
阅读(9665)
推荐(3)
Beautifulsoup模块
摘要:一、介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.你可能在寻找 Beautiful Soup3 的文档,Beautifu
阅读全文
posted @
2018-01-19 18:40
Sober--
阅读(202)
推荐(0)
爬虫练习二(拉勾网投递简历)
摘要:一、流程分析 二、代码实现 import requests import re from urllib.parse import urlencode session = requests.session() r1 = session.get( "https://passport.lagou.com/
阅读全文
posted @
2018-01-17 22:27
Sober--
阅读(552)
推荐(0)
知识点拾忆(一)
摘要:一、面向对象知识点解析 1.子类继承父类的__init__方法的三种方式 2.对象通过索引设置值的三种方式 class Foo(object): def __setitem__(self, key, value): print(key,value) obj = Foo() obj["xxx"] =
阅读全文
posted @
2018-01-17 21:47
Sober--
阅读(221)
推荐(0)
爬虫练习一(爬取笑话集)
摘要:爬取笑话集网页 目标网址为:http://www.jokeji.cn/list.html 感觉这个网站挺简单,不用登陆,没有复杂的功能,好爬~ 可以现在浏览器中访问这个链接看一下效果,你会发现这个页面是个目录,有很多笑话页面的链接。 还是先使用简单的代码试试有没有效果: 由于爬取的内容发现乱码,所以
阅读全文
posted @
2018-01-16 21:59
Sober--
阅读(773)
推荐(0)
metaclass元类解析
摘要:一、创建类的流程 二、什么是元类 在Python3中继承type的就是元类 示例 class ASD(type): pass qqq = ASD("qwe", (object,), {}) #用ASD这个元类创建了一个(qwe,并且继承object类的)类 # class ASD(qwe): # p
阅读全文
posted @
2018-01-16 19:07
Sober--
阅读(202)
推荐(0)
正则表达式re.S的用法
摘要:在Python的正则表达式中,有一个参数为re.S。它表示“.”(不包含外侧双引号,下同)的作用扩展到整个字符串,包括“\n”。看如下代码: 运行结果如下 正则表达式中,“.”的作用是匹配除“\n”以外的任何字符,也就是说,它是在一行中进行匹配。这里的“行”是以“\n”进行区分的。a字符串有每行的末
阅读全文
posted @
2018-01-16 15:29
Sober--
阅读(9300)
推荐(1)
requests模块
摘要:一、requests模块介绍 二、基于GET请求 1.基本请求 2、带参数的GET请求->params #在请求头内将自己伪装成浏览器,否则百度不会正常返回页面内容 import requests response=requests.get('https://www.baidu.com/s?wd=p
阅读全文
posted @
2018-01-16 11:56
Sober--
阅读(214)
推荐(0)
爬虫基本原理
摘要:一、爬虫介绍 1.爬虫是什么? 二、爬虫的基本流程 三、request 四、response import requests from urllib.parse import urlencode keyword = input('>>: ').strip() res = urlencode({'wd
阅读全文
posted @
2018-01-16 11:24
Sober--
阅读(233)
推荐(0)
爬虫目录
摘要:第一篇:爬虫基本原理 第二篇:请求库之requests,selenium 第三篇:解析库之re、beautifulsoup、pyquery 第四篇:存储库之mongodb,redis,mysql 第五篇:爬虫高性能相关 第六篇:Scrapy框架 第七篇:爬虫实战
阅读全文
posted @
2018-01-16 11:00
Sober--
阅读(203)
推荐(1)
Flask之目录结构
摘要:学习Flask,整合其目录结构也是比较重要的。一个最基础的Flask目录如下所示: 一、SQLAlchemy-utils 由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法。 安装:pip3 install sqlalchemy-u
阅读全文
posted @
2018-01-16 10:53
Sober--
阅读(1062)
推荐(0)
Flask之flask-script组件
摘要:Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行任务;使得脚本和系统分开;Flask Script和Flask本身的工作方式类似,只需定义和添加从命令
阅读全文
posted @
2018-01-11 16:31
Sober--
阅读(194)
推荐(0)
SQLAlchemy
摘要:一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 pip3 install sqlalchemy 组成部分: Engine,框架的引
阅读全文
posted @
2018-01-11 15:51
Sober--
阅读(129)
推荐(0)
flask之wtforms
摘要:一、wtforms 定义:WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。 安装: 二、 用户登录注册示例 1. 用户登录 当用户登录时候,需要对用户提交的用户名和密码进行多种格式校验。如: 用户不能为空;用户长度必须大于6; 用户不能为空;用户长度必须大于6;
阅读全文
posted @
2018-01-11 15:41
Sober--
阅读(236)
推荐(0)
Django中的信号及其用法
摘要:一、Django信号及其用法 Django中提供了"信号调度",用于在框架执行操作时解耦. 一些动作发生的时候,系统会根据信号定义的函数执行相应的操作 Django中内置的signal Model_signals pre_init # Django中的model对象执行其构造方法前,自动触发 pos
阅读全文
posted @
2018-01-10 23:03
Sober--
阅读(323)
推荐(0)
Flask进阶
摘要:一、路由系统 1.路由 以上五中都是可传入参数的路由,也是常用路由,所有的路由都基于以下对应关系来处理 2,反向生成url 在反向生成url的时候,必须导入url_for,即 endpoint("name") #别名,相当于django中的name 3、@app.route和app.add_url_
阅读全文
posted @
2018-01-07 19:39
Sober--
阅读(1314)
推荐(0)
Flask入门
摘要:一、Flask介绍 (轻量级框架) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进
阅读全文
posted @
2018-01-06 14:09
Sober--
阅读(162)
推荐(0)