学习笔记
未读基本概念 字符串被用来表示文本。在 Python 中,字符串是用两个双引号" "或者单引号' '括起来的一个或多个字符。当字符串较长时,也会用三引号''' '''编写多行字符串。 在 Python 中,字符串类型用关键字 str 表示(即英文单词 string 的简写)。 12hi = 'Hello World!'print(hi) 转义字符 当字符串内容中包含引号时,Python 会错误理解字符串的包含范围。 1a = 'What's your name?' 这时我们有两种方法解决问题,第一种是改用不同的引号来包裹字符串: 1a = "What's your name?" 但是这种方法有局限性,当字符串内容中有所有类型的引号时,这种方法仍不能很好地划清界限,所以我们更常用的一种方法是使用转义字符: 1a = 'What\'s your name?' 像\'这种反斜杠\加字符的形式就叫做转义字符,它们合起来表示一个字符,Python 中常用的转义字符有: ...
学习笔记
未读整型 int 在 Python 中,整型数用关键字int表示(即英文单词 integer 的简写),包括:正整数、零和负整数。整型数全部由数字构成,不包括小数部分。 Python中的整型没有取值范围的限制。 Python中的整数有4种进制表示:十进制、二进制、八进制和十六进制。例如: 1010, 99, -217 0x5d, -0X64 (0x, 0X开头表示16进制数) 0b1011, -0B100 (0b, 0B开头表示2进制数) 0o13, -0O57 (0o, 0O开头表示8进制数) 浮点型 float 在 Python 中,浮点型用关键字float表示,是由整数、小数点和小数构成的数字。 Python 中的小数存在取值范围和精度的限制。 特别大或者特别小的浮点数在 Python 中用科学计数法表示。 科学计数法使用字母 e 或者 E 作为幂的符号,以10为基数。科学计数法含义如下: <a>e<b>=a∗10b<a>e<b> = a * 10^b <a>e<b>=a∗10b 浮点数的算数运算 ...
学习笔记
未读表达式 表达式是程序设计语言中最基本的结构,包含 “值”和“运算符”,并且总是可以求值(即归约)为单个值。 数学运算符 下表列出了 Python 中的所有数学运算符: 运算符 功能说明 样例 结果 ** 指数 3 ** 3 27 % 取模/取余数 10 % 3 1 // 整除/商数取整 17 // 8 2 / 除法 22 / 8 2.75 * 乘法 2 * 5 10 - 减法 5 - 1 4 + 加法 1 + 6 7 运算的优先级也同数学一样,指数优先级最高,齐次是乘除与取模,最后是加减,同样可以通过括号改变优先级。 增强运算符 除了基本赋值运算符号 = 外,Python 中还有将不同算术运算符与基本赋值运算符号相结合在一起的高级赋值运算符(增强运算符): 运算符 样例 x的值 功能说明 += x = 2x += 3 5 加法赋值运算符,等价于x = x + 3 -= x = 6x -= 4 2 减法赋值运算符,等价于x = x - 4 *= x = 5x *= 6 30 乘法赋值运算符,等价于x = x * 6 ...
定义与赋值 在程序设计过程中,对于不需要改变且不能改变的字面值,称为常量。 变量与常量相反, 变量的值可以改变。Python 中使用变量来收集和记录数据。每个变量用一个变量名来表示,在使用前都必须赋值。语法如下所示: 1变量 = 值 如: 1Pi = 3.14 命名规则 变量的命名需要遵循以下规则: 只能是一个词。 只能包含字母、数字和下划线。 不能以数字开头。 不要使用 Python 保留字(关键字)。 常用变量的含义命名。 变量名为大小写敏感,意味着 Hello 和 hello 是两个完全不同的变量。 Python 支持多个变量同时赋值,格式为: 1变量1, 变量2 = 值1, 值2 如: 1a, b = 1, 2 这个性质还可以用于交换两个变量的值: 123a, b = 1, 2#交换变量a与变量b的值a, b = b, a
Pandas 是基于 NumPy 数组构建的,特别是基于数组的函数和不使用 for 循环的数据处理。 虽然 Pandas 采用了大量的 NumPy 编码风格,但二者最大的不同是 Pandas 是专门为处理表格和混杂数据设计的。而 NumPy 更适合处理统一的数值数组数据。 Pandas 数据结构 要使用 Pandas,首先就得熟悉它的两个主要数据结构:Series和DataFrame。 Series Series是一种类似于一维数组的对象,它由一组数据(各种 NumPy 数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据即可产生最简单的Series: 123import pandas as pdobj = pd.Series([4,7,-5,3])print(obj) Series的字符串表现形式为:索引在左边,值在右边。由于没有为数据指定索引,于是会自动创建一个 0到N-1(N为数据的长度)的整数型索引。可以通过Series的values和index属性获取其数组表示形式和索引对象: 12345import pandas as pdobj = pd.Series([4, ...
什么是爬虫 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 大家可以理解为在网络上爬行的一只蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到自己的猎物(所需要的资源),那么它就会将其抓取下来。比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的链接,那么它就可以爬到另一张网上来获取数据。 为什么要反爬虫 反爬虫,即使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。 如果不反爬虫,会有人不断的发起请求获取数据,动态服务器会有大量的异常错误或者正常的意外流量,流量被浪费在了(程序员/组织)获取数据上,而不是分发数据(给用户)上。 这对网站官方会造成极大的负面影响,所以要反爬虫。 反爬虫的手段 基于请求头 反爬虫首先是基于请求头的,爬虫程序的请求头通常与用户使用的浏览器的请求头不同,通过请求头,可以筛除很大一部分的程序请求。 基于用户行为 反爬虫手段还可以基于用户行为,对于一些异常行为 ...
Beautiful Soup库简介 Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 中常用的页面解析库,它可以从 HTML 或 XML 文档中快速地提取指定的数据。 相比于之前讲过的 lxml 库,Beautiful Soup 更加简单易用,不像正则和 XPath 需要刻意去记住很多特定语法,尽管那样会效率更高更直接。 对大多数 Python 使用者来说,好用会比高效更重要。 Beautiful Soup库为第三方库,需要我们通过pip命令安装: 1pip install bs4 BS4 解析页面时需要依赖文档解析器,所以还需要一个文档解析器。 Python 自带了一个文档解析库 html.parser, 但是其解析速度稍慢,所以我们结合上篇内容(Python 文档解析:lxml库的使用),安装 lxml 作为文档解析库: 1pip install lxml Beautiful Soup库方法介绍 使用 bs4 的初始化操作,是用文本创建一个 BeautifulSoup 对象,并指定文档解析器: 123456789101112131415fro ...
lxml库简介 lxml 是 Python 常用的文档解析库,能够高效地解析 HTML/XML 文档,常用于 Python 爬虫。 lxml 为第三方库,需要我们通过pip命令安装: 1pip install lxml lxml库方法介绍 lxml 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,让我们先导入模块: 1from lxml import etree 使用 etree 模块的 HTML() 方法可以创建 HTML 解析对象: 123from lxml import etreeparse_html = etree.HTML(html) HTML() 方法能够将 HTML 标签字符串解析为 HTML 文件,并且可以自动修正 HTML 文本: 12345678910111213141516from lxml import etreehtml_str = '''<div> <ul> <li><a href="www.python.org"&g ...
requests库简介 requests 是 Python 中比较常用的网页请求库,主要用来发送 HTTP 请求,在使用爬虫或测试服务器响应数据时经常会用到,使用起来十分简洁。 requests 为第三方库,需要我们通过pip命令安装: 1pip install requests requests库方法介绍 下表列出了requests库中的各种请求方法: 方法 描述 delete(url, args) 发送 DELETE 请求到指定 url get(url, params, args) 发送 GET 请求到指定 url head(url, args) 发送 HEAD 请求到指定 url patch(url, data, args) 发送 PATCH 请求到指定 url post(url, data, json, args) 发送 POST 请求到指定 url put(url, data, args) 发送 PUT 请求到指定 url request(method, url, args) 发送指定的请求方到指定 url 每次调用 reques ...
turtle 简介 turtle库是 turtle 绘图体系 Python 的实现,turtle 库是 python 的标准库之一,属于入门级的图形绘制函数库。 turtle 库绘制原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等。 官方文档地址:https://docs.python.org/3/library/turtle.html turtle 基础知识 画布 画布(canvas)就是 turtle 为我们展开用于绘图区域,我们可以设置它的大小和初始位置。 我们可以通过screensize函数来设置画布的大小和背景颜色: 1turtle.screensize(canvwidth=None, canvheight=None, bg=None) 其中screensize函数的三个参数分别表示画布的宽、高和背景颜色。 或者通过setup函数来设置: 1turtle.setup(width=0.5, height=0.75, startx=None, starty=None) 其中参数width,height:输入宽和 ...