自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 问答 (3)
  • 收藏
  • 关注

原创 基于Problem Solving with Algorithms and Data Structures using Python的学习记录(5)——Searching

5.1.目标能够解释和实现顺序查找和二分查找。能够解释和实现选择排序,冒泡排序,归并排序,快速排序,插入排序和 shell 排序。理解哈希作为搜索技术的思想。引入映射抽象数据类型。使用哈希实现 Map 抽象数据类型。5.2.搜索我们现在把注意力转向计算中经常出现的一些问题,即搜索和排序问题。在本节中,我们将研究搜索。我们将在本章后面的章节中介绍。搜索是在项集合中查找特定项的算法过程。搜索

2017-03-30 13:39:48 1982

原创 不曾见过的Python函数——pprint.pprint()

pprint模块提供了打印出任何Python数据结构类和方法。 pprint 包含一个“美观打印机”,用于生成数据结构的一个美观视图。格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅读。输出尽可能放在一行上,分解为多行时则需要缩进。>>>import pprint>>>data = ( "this is a string", [1, 2, 3, 4], ("m

2017-03-30 00:55:55 2307

原创 基于PyMongo3.4.0文档的学习记录(1)——Tutorial

教程是pymongo和Mongo的一个简单介绍。看完后应该对Pymongo对Mongo的基本操作认识了。先决条件开始之前,安装PyMongo和Mongo。确保在Python交互界面执行import不报错:>>import pymongo使用MongoClient进行连接使用PyMongo的第一步是创建一个 MongoClient运行的mongod 实例。这样做很容易:>>> from pymong

2017-03-30 00:52:24 1994

原创 Python操作文件的基本方法

读取文本文件path为要读取的文本的路径with open(path,'r') as f: print(f.read())调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回li

2017-03-29 23:56:47 775

原创 基于Win10系统的Anaconda的基本安装

Anaconda官方下载地址 Download Anaconda Now! | Continuum注册好AnacondaCloud账号以后,打开页面(xxx为注册的用户名) https://anaconda.org/xxx/settings/add-ons下载此页面的三个许可文件许可文件安装方法见此处官方文档应该是安装完毕了,但是我也不大清楚,到目前为止,我都安装了些什么玩意…C:\Users\r

2017-03-29 19:45:21 2192

原创 基于win10系统的MongoDB基本安装

安装MongoDB使用这两个命令查看当前系统的版本和位数: 通过系统的版本来下载合适版本的MongoDB:MongoDB的基本配置设置一个目录用来保存数据: C:\ProgramFiles\MongoDB\Server\3.4\bin\mongod.exe --dbpath C:\Users\rHotD\Documents\Mongo当在命令行中看到以下内容时:使用mongo.exe 命令启动M

2017-03-29 16:35:21 1317

原创 基于Problem Solving with Algorithms and Data Structures using Python的学习记录(4)——Recursion

4.1.目标本章的目标如下:要理解可能难以解决的复杂问题有一个简单的递归解决方案。学习如何递归地写出程序。理解和应用递归的三个定律。将递归理解为一种迭代形式。实现问题的递归公式化。了解计算机系统如何实现递归。4.2.什么是递归递归是一种解决问题的方法,将问题分解为更小的子问题,直到得到一个足够小的问题可以被很简单的解决。通常递归涉及函数调用自身。递归允许我们编写优雅的解决方案,解决可能

2017-03-29 14:10:34 1776

原创 基于Problem Solving with Algorithms and Data Structures using Python的学习记录(3)——Basic Data Structures

3.1.目标● 了解抽象数据类型:栈 stack、队列 queue、双端队列 deque 和列表 list; ● 用 Python 列表数据结构,来实现 stack/queue/deque 抽象数据类型的构建; ● 了解各种基本线性数据结构的性能和使用方法; ● 了解前缀、中缀和后缀表达式; ● 采用栈 stack 对后缀表达式进行求值; ● 采用栈 stack 将中缀表达式转换为后缀表达

2017-03-29 10:39:19 1944 1

转载 关于Python中以字母r/R,或字母u/U 开头的字符串

1、以r或R开头的python中的字符串表示(非转义的)原始字符串python里面的字符,如果开头处有个r,比如:(r’^time/plus/\d{1,2}/$’, hours_ahead)说明字符串r”XXX”中的XXX是普通字符。有普通字符相比,其他相对特殊的字符,其中可能包含转义字符,即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。而如果是

2017-03-27 11:04:34 799

原创 基于Beautiful Soup 4.2.0文档的学习记录(3)——get_text()、get()

aaa

2017-03-27 10:54:23 7446 1

原创 使用PhantomJS+Selenium抓取经过JS渲染的页面

介绍PhantomJSPhantomJS下载地址PhantomJS是一个服务器端的 JavaScript API 的WebKit(开源的浏览器引擎)。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas 和 SVG。PhantomJS可以用于页面自动化,网络监测,网页截屏,以及无界面测试等。使用PhantomJS,而不用Chromedriver和firefox,主要是因

2017-03-27 10:46:57 8425

原创 Python异常处理的学习(1)

参考虫师的:python异常处理(基础)

2017-03-24 19:57:00 437

原创 使用python向MySQL数据库中插入数据时报错UnicodeEncodeError的解决办法

版本说明:Python3.5MySQL5.7mysqlclient应该是最新的>>> ================== RESTART: C:\Users\rHotD\Desktop\test.py ==================Traceback (most recent call last): File "C:\Users\rHotD\Desktop\test.py",

2017-03-24 19:54:17 2484

转载 通过mysqlclient操作MySQL数据库

我使用的是 Python3.5,所以选择 mysqlclient 来操作 MySQL安装mysqlclient要想使 python 可以操作 mysql 就需要 MySQLdb 驱动,它是 python 操作 mysql 必不可少的模块。使用pip安装pip install mysqlclient测试测试非常简单,检查 MySQLdb 模块是否可以正常导入。>>> import MySQLdb没有报

2017-03-24 17:23:35 19890 1

原创 使用Pyinstaller将python脚本打包成exe文件

Pyinstaller giuhub地址Pyinstaller官方文档只保留该文件即可,其余文件皆可删除

2017-03-24 16:58:17 1036

原创 Python正则表达式学习(1)——re.sub()基础

re.sub(pattern,repl,string,count = 0,flags = 0)re.sub用于替换字符串中的匹配项个人理解:返回将string中的pattern部分替换为repl的字符串返回通过替换repl替换字符串中最左侧不重叠的pattern的字符串获取的字符串。如果没有找到模式,则字符串不会更改。repl可以是一个字符串或一个函数;如果是字符串,则会处理其中的任何反

2017-03-24 12:55:57 1024

原创 基于Beautiful Soup 4.2.0文档的学习记录(2)——CSS选择器

注:配合chrome浏览器检查元素功能效果更佳Beautiful Soup支持大部分的CSS选择器,在 Tag 或 BeautifulSoup 对象的 .select() 方法中传入字符串参数,即可使用CSS选择器的语法找到tag:soup.select("title")# [<title>The Dormouse's story</title>]soup.select("p nth-of-ty

2017-03-22 18:10:12 1165

原创 基于Beautiful Soup 4.2.0文档的学习记录(1)——find()、find_all()、findAll()

find() find( name , attrs , recursive , text , **kwargs )find_all()方法将返回文档中符合条件的所有tag,尽管有时候我们只想得到一个结果.比如文档中只有一个<body>标签,那么使用 find_all()方法来查找<body>标签就不太合适, 使用 find_all 方法并设置 limit=1 参数不如直接使用 find() 方

2017-03-22 18:02:08 2600

原创 不曾见过的Python函数——zip()

zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)>>> x=[1,2,3]>>> y=[4,5,6]>>> zipped=zip(x,y)>>> zipped<zip object at 0x0000

2017-03-22 17:04:59 612

原创 Python数据结构与算法分析学习记录(2)——基于Problem Solving with Algorithms and Data Structures using Python的学习

2.1.目标了解为何算法分析的重要性能够用大“O”表示法来描述算法执行时间了解在 Python 列表和字典类型中通用操作用大“O”表示法表示的执行时间了解 Python 数据类型的具体实现对算法分析的影响了解如何对简单的 Python 程序进行执行时间检测2.2.什么是算法分析算法分析主要就是从计算资源的消耗的角度来评判和比较算法。我们想要分析两种算法并且指出哪种更好,主要考虑的是哪一种

2017-03-22 13:39:14 4675 3

原创 git学习记录

很久以前练习git时候写的一篇学习记录创建版本库首先选择一个合适的地方,创建一个空目录: mkdir learngit cd learngit pwd 此命令用于显示当前目录第二步,把当前目录变成Git可以管理的仓库 git init 把文件放到learngit目录或者子目录下 第一步,把文件添加到仓库 git add readme.txt第二步,把文件提交到仓库,-

2017-03-21 20:18:54 435

原创 使用pip管理Python的packages

您可以使用pip程序安装,升级和删除软件包 。pip search 可以使用有限的搜索功能 >>pip search pymysql >> pip install 可以通过指定package的名称来安装其最新版本 >>pip install scrapy >> 您还可以通过提供packageName==Version来安装特定版本的包: >>pip install django=

2017-03-21 19:14:33 1037 1

原创 Python数据结构与算法分析学习记录(1)——基于Problem Solving with Algorithms and Data Structures using Python的学习

1.1. 目标了解计算机科学、程序设计和问题解决的基本概念;理解什么是“抽象”以及抽象在问题解决过程中的作用;理解“抽象数据类型”的概念以及在实际操作中学会运用;学习Python程序设计语言。1.2. 开始学习本章接下来将主要强调两个重要的方面。第一,回顾计算机科学以及算法与数据结构的基本框架,并特别强调我们学习这些内容的原因以及理解这些内容如何帮助我们更好地解决问题。第二,了解pytho

2017-03-20 23:06:23 1588

原创 基于How To Tango With Django 1.9的重新实践(19)——Ajax

19.1 AJAX基本功能 为了使我们无缝的和Rango进行交互,让我们用AJAX加入一些特性,例如:增加”Like Button”让注册用户可以”like”一个特殊的目录增加一个行内的目录建议 - 这样当用户键入的时候就能很快的找到目录增加”Add Button”使用户快速的方便的为目录添加页面创建rango-ajax.js文件并放入到js目录.然后在你的基础模板里:<script sr

2017-03-20 12:43:46 1481

原创 基于How To Tango With Django 1.9的重新实践(18)——JQuery

JQuery是集成了Javascript一些实用功能的库.几行JQuery可以代替几百行的javascript代码.JQuery提供了一整套操作HTML元素的函数.在本章,我们将会:如何在Django应用里使用JQuery向你阐释如何与JQuery代码交互提供一些小例子18.1 在你的Django项目/应用里使用JQuery在你的基础模板里加入下面:{% load staticfiles %

2017-03-20 01:04:19 790

原创 基于How To Tango With Django 1.9的重新实践(17)——Hints

如果你能够根据我们上一章的提示完成练习就太好了,如果不能的话这章将会给你一些提示和代码来帮助你完成.17.1 跟踪页面点击目前Rango直接提供了外部页面的链接.对于要统计每个页面点击和浏览次数很不利.为了计算通过Rango浏览一个页面的次数你需要完成下面几个步骤.17.1.1 创建URL跟踪视图在/rango/views.py里创建一个叫做track_url()的新视图,它将会获取HTTPGET请

2017-03-20 00:18:16 629

原创 基于How To Tango With Django 1.9的重新实践(16)——Rango Exercises

到目前为止我们已经为Rango添加了许多功能.我们通过建立这个应用让你熟悉Django框架,而且从中学到了建立自己网站时遇到的各种各样的困难和挑战.但是现在Rango还不够紧凑.在本章,我们将使各个功能更加紧凑,同时改善应用的用户体验并加入一些新的功能.为了使我们的Rango耦合度更高我们将加入下面的功能.检测目录和页面的点击数,例如: 累计目录访问次数累计页面访问次数收集目录喜欢数(查看1

2017-03-20 00:07:03 1013

原创 基于How To Tango With Django 1.9的重新实践(15)——Webhose Search

粗略看了一下,感觉跟Bing API的作用差不多 所以先跳过了

2017-03-19 20:21:54 682

原创 基于How To Tango With Django 1.9的重新实践(14)——Bing Search

在这个阶段,我们的Rango看起来已经非常好啦 - 大部分的功能都已经实现了,在这章,我们将为我们的Rango提供Bing的搜索的功能而不是仅仅使用目录.首先让我们先设置一个Bing账户来使用它的API,然后把Bing搜索集成进Rango.14.1 Bing搜索APIBing搜索API提供了在你的应用中嵌入搜索结果的功能.通过简单的交互,你可以从Bing的服务器返回一个XML或者JSON.这个数据可

2017-03-19 20:08:05 614

原创 基于How To Tango With Django 1.9的重新实践(13)——Template Tags

13.1 为每个页面提供目录 为每个页面的侧边栏提供目录将会非常的方便快捷.根据以前的经验我们需要做如下:在base.html模板里我们需要添加一些代码用来展示侧边栏的目录列表.在每个视图里,我们需要访问目录对象以获取所有目录,并把它返回到模板上下文字典里.这么做好像有点繁琐.我们需要不断复制粘贴代码.而且当django-registration-redux包的视图要展示目录时会发生错误.所

2017-03-19 16:29:24 710

原创 基于How To Tango With Django 1.9的重新实践(12)——Bootstrapping Rango

在本章中,我们将使用Twitter Bootstrap 4 Alpha工具包对Rango进行样式化。Bootstrap是最流行的HTML,CSS,JS Framework,我们可以用它来设计我们的应用程序。该工具包允许您设计和设计响应式Web应用程序,并且在熟悉它后很容易使用。现在看看Bootstrap 4.0网站 - 它提供了样本代码和不同组件的示例,以及如何通过添加在适当的样式标签等样式。在Bo

2017-03-19 11:13:12 1181

原创 基于How To Tango With Django 1.9的重新实践(11)——User Authentication with {#chapter-redux}

在上一章中,我们通过手动编写URL,视图和模板来添加登录和注册功能。然而,这样的功能是许多web应用程序所共有的,所以开发人员已经创建了许多附加应用程序,可以包括在您的Django项目中,以减少提供登录,注册,一步和两步验证所需的代码量,密码chaning,密码恢复等。在本章中,我们将使用包django-registration-redux提供这些设施。这意味着我们需要重新考虑我们的代码,以删除我们

2017-03-16 20:28:49 1206

原创 基于How To Tango With Django 1.9的重新实践(10)——Cookies and Sessions

在本章中我们将要介绍sessions和cookies,它们两个在现代wen应用中有着至关重要的作用.在上一章,Django框架使用sessions和cookies来处理用户登录和注销功能(都在背后运行).这里我们将要探索cookies的其他用途.10.1 Cookies,无处不在的Cookies!每当对网站做出请求时,web服务器返回所请求的页面的内容。此外,一个或多个cookie也可以作为请求的一

2017-03-16 15:24:35 1391

原创 基于How To Tango With Django 1.9的重新实践(9)——User Authentication

教程的下一部分将教会你Django的用户验证机制.我们将会使用Django标准包django.contrib.auth的auth应用.通过 Django’s official documentation on Authentication,应用包含下面几方面.用户.权限:一系列的二进制标志(例如 yes/no)决定用户可以做或不可以做什么.群组:为不止一个用户提供权限的方法.用户登录的表单和

2017-03-16 10:31:30 1748

原创 基于How To Tango With Django 1.9的重新实践(8)——Templates

tango_with_django_19到目前为止,我们已经在我们的rango应用内创造了几个HTML模板对于不同的页面。随着你创造越来越多的模板,你也许注意到许多HTML代码实际上是重复的。 我们拥护DRY原则。而且,你可能注意到,我们使用硬编码的URL路径来引用不同的网页。 总的来说,维护网站将是噩梦,因为如果我们要更改一般网站结构或更改URL路径,我们将必须修改每个模板。在本章中,我们将使用

2017-03-15 11:07:35 922

原创 基于How To Tango With Django 1.9的重新实践(7)——Forms

到目前为止我们仅仅是通过视图和模板来表现数据.在本章,我们将会学习如何通过web表单来获取数据.Django包含一些表单处理功能,它使在web上收集用户信息变得简单.通过Django’s documentation on forms我们知道表单处理功能包含以下:显示一个HTML表单自动生成的窗体部件(比如一个文本字段或者日期选择器).用一系列规则检查提交数据.验证错误的情况下将会重新显示表单.

2017-03-15 10:18:36 1357

原创 基于How To Tango With Django 1.9的重新实践(6)——Models, Templates and Views

现在我们已经建立了模型并且导入了一些数据,现在我们要把这些连一起.我们将会弄清楚如何在视图中访问数据以及如何通过模板展示数据.6.1 基本流程:数据驱动页面在Django中创建数据驱动页面必须执行以下5步.首先,在你应用的views.py文件中导入你要添加的模型.在视图里访问模型,导入你需要的数据.把模型的数据传递给模板.设置模板给用户呈现数据.如果还没有映射URL,映射一下吧.上面的步

2017-03-14 11:03:11 1128

原创 基于How To Tango With Django 1.9的重新实践(0-5)

我使用的Django版本为1.10,之前参照How To Tango With Django1.7做的乱七八糟的好是心烦,遂重新又做了一遍新版本的文件树如下 C:. ├─.idea │ └─inspectionProfiles ├─media ├─rango │ ├─migrations │ └─__pycache__ ├─static │

2017-03-13 22:13:06 2757

原创 基于How To Tango With Django 1.7的实践(5)——Models and Databases

通常来说处理数据库需要我们掌握许多复杂的SQL语句.但是在Django里,对象关系映射(ORM)帮我们处理这一切,包括通过模型创建数据库表.事实上,模型是描述你的数据模型/图表的一个Python对象.与以往通过SQL操作数据库不同,你只用使用Python对象就能操作数据库.在本章,我们将会学习如何设立数据库并为Rango建立模型.6.1 Rango的需求首先,让我们看看Rango的需求.下面列出了R

2017-03-13 17:34:36 654

原创 基于How To Tango With Django 1.7的实践(4)——Templates and Static Media

5.1 使用模板为了创建一个Django网页,我们需要把许多东西都集中到一起.现在我们有两个视图以及一些连接它们的映射.下面我们将学习如何把模板加入到里面.设计优秀的网站会重用他们的布局结构.你是否看到过同样header和footer的页面,这些重复布局会提高网站的组织性同时会给人连续感.Django提供了与应用逻辑上可分的模板来为开发者更容易的实现这样的设计目标.在本章,你将会创建一个模板来创建一

2017-03-13 17:05:49 677

空空如也

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

TA关注的人

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