python简单语法及第三方库的一些简单介绍

目录:
> 1.python语言概述
2.python语言基本语法元素
3.基本数据类型
4.程序的控制结构
5.函数与代码复用
6.组合数据类型
7.文件和数据的格式化
8.Python计算生态
9.Python标准库概览
10.Python第三方库概览
11.第三方库纵览(python学习具体方向)

1.python语言概述
程序运行方式:交互式
文件式
编写方法:输入(input)
处理(process)
输出(output)
语言特点:通用性
语言简洁
生态高产
平台无关
强制可读
支持中文

2.python语言基本语法元素
数字类型:整数,浮点数(小数),复数
字符串:用‘’或“”括起;{a[n:m],切片:查看字符串n到m字符}; len(‘’)确定字符串的长度
赋值语句:‘=’表示复制,同步复制语句(同时对多个变量赋值)
引用语句:关键字import,采用(功能库名称.函数名称)对函数进行调用。
分支语句:

if 条件:
						语句块

循环语句:

while 条件:
						语句块

Input()函数:变量 = input(‘提示性文字’)
Type():查看数据类型
eval()函数:计算不同数字类型,常与input连用
Print()函数:用于输出字符串,变量值;print(“…{}…”.format(变量,变量));print(参数,end=‘\n’),end参数默认表示换行,平时未写出。

3.基本数据类型
整数类型:二进制,十进制,八进制,十六进制
浮点数类型:科学计数法e
复数类型:虚部用j或J表示,1不能省略

数值运算操作符:
**表示次幂,//表示商的整数部分
abs(x):取绝对值
pow(x,y):x的y次幂
round(x,y):对x四舍五入,保留y个小数位。
\:转义符
\n:换行
\\:反斜杠

字符串的索引:字符串或字符串变量[n:m]

format():format()内的变量对应前面的{};

控制格式:{}内<左对齐,>右对齐,^居中对齐,{:-}其中-自动填充;
精度表示:{:.2f}.format(变量),保留两位小数;

类型的格式控制:b,二进制;x,十六进制

字符串的基本操作:“+”连接;“x*n”复制n次;……

字符串的处理方法:
str.lower(),返回小写;
str.upper(),返回大写;
str.split(a):以a对字符串进行分割;
str.count(a):返回字符串a的出此出现次数;
str.replace(old,new):替换;
str.center(width,fillchar):填充;
str.strip(a):去掉两端的a字符串;
str.joio(a):在每个字符中间插入a字符
类型判断和转换:str(x)将x转换为字符串
ASCII表:chr():十进制转换为字符;ord():字符转换为十进制数

4.程序的控制结构
分支结构:
单分支结构:

if(条件):
	    语句块

and:与关系 or:或关系 not:单个条件的否关系

二分支结构:

if(条件):
		语句块1
else:
		语句块2

多分支结构:

if(条件1):
		语句块1
elif(条件2):
		语句块2
		……
else:
		语句块n

循环结构:
遍历循环:

for 循环变量 in 遍历结构(字符串,文件,range(),组合数据类型):
								语句块

无限循环:
1.

 while(条件):
							    		语句块
if(条件):
			语句块1
	else:
			语句块2

在这种扩展模式中,当while循环正常执行之后,程序会继续执行 else 语句中内容。else语句只在循环正常执行后才执行,因此,可以在语句块2中放置判断循环执行情况的语句。

break和continue循环控制结构:如果有2层或多层循环,break退出最内层循环。continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
程序异常处理:try-expect:

try:
	<语句块1> 
except:
	<语句块2>

语句块1是正常执行的程序内容,当执行这个语句块发 生异常时,则执行except保留字后面的语句块2。

5.函数与代码复用
函数的定义:

def <函数名>(<参数列表>):
      < 函 数 体 >  
      return <返回值列表>

函数的使用:定义后的函数不能直接运行,需要经过“调用” 才能运行。调用函数的方法:

<函数名>(<实际赋值参数列表>)

使用步骤:1.函数定义2.函数调用3.函数执行4.函数返回
参数的传递:

def <函数名>(<非可选参数列表>, <可选参数> = <默认值>):
            <函数体>
            return <返回值列表>

变量的作用域:
局部变量:在函数内部使用的变量,仅在函数内部有效, 当函数退出时变量将不再存在。
全局变量:全局变量指在函数之外定义的变量,在程序执行 全过程有效。局部变量想在函数外部使用时,需要提前使用保留字global声明。
代码复用:即是封装函数,实现函数的多次使用,并尽可能减少函数间参数和返回值 的数量。

6.组合数据类型
集合类型:
定义:元素之间无序,相同元素在 集合中唯一存在。

操作符:交集(&)、并集(|)、差集(-)、补集(^)

操作函数:
S.add(x):如果数据x不在集合S中,将x增加到s
S.remove(x):如果x在集合S中,则移除;不在产生keyword异常
S.clear():移除S中所有数据项
len(S):返回集合S元素个数
x in S:如果x是S的元素,返回True,否则返回False
x not in S:如果x不是S的’元素,返回True,否则返回False

序列类型:一个元素向量,元素之间存在先后关系,通 过序号访问,元素之间不排他。序列类型的典型代表是 字符串类型和列表类型。序列类型使用相同的索引体系,即正向递增序号和反向递减序号。
x in S:如果x是S的元素,返回True,否则返回False
x not in S:如果x不是S的’元素,返回True,否则返回False
s+t:连接s和t
sn或ns:将序列s复制n次
s[i]: 索引,返回序列的第i个元素
s[i:j]: 切片,返回包含序列s第i到j个元素的子序列
s[i:j:k]: 步骤切片,以k为步数返回序列i到j个元素的子序列
len(s):序列s的元素个数或长度
min(s):序列s中最小元素
max(s):序列s中最大元素
S.index(x):序列s中第一次出现元素x的位置
s.count(x):序列s中x出现的次数。

映射类型:“键-值”数据项的组合,每个元素是一个键 值对,表示为(key, value)。映射类型的典型代表是字典类型。

列表定义:包含0个或多个元组组成的有序序列,属 于序列类型。列表可以元素进行增加、删除、替 换、查找等操作。列表没有长度限制,元素类型 可以不同,不需要预定义长度。
列表类型用中括号([])表示,也可以通过list(x) 函数将集合或字符串类型转换成列表类型。

列表的索引:

 for	<循环变量>	in	<列表变量>:
                  <语句块>

列表的切片:<列表或列表变量>[N: M]或<列表或列表变量>[N: M: K]

list(x):将x转变为列表类型。

列表的一些操作方法:
Ls.append(x):在列表最后增加一个元素x
Ls.insert(i,x):在列表ls第i个位置增加元素x
Ls.clear():删除ls所有元素
Ls.pop(i):将列表ls中第i项元素去除并删除
Ls.remove(x):将列表出现的第一个元素x删除
Ls.reverse():列表ls中元素反转
Ls.copy():生成一个新列表,复制ls中所有元素
del对列表元素 或片段进行删除,使用方法如下:
del <列表变量>[<索引序号>] 或
del <列表变量>[<索引起始>: <索引结束>]

字典定义:其中,键和值通过冒号连接,不同键值对通过逗 号隔开。字典类型也具有和集合类似的性质,即 键值对之间没有顺序且不能重复。使用方式如下:

{<键1>:<值1>,	<键2>:<值2>,	… ,	<键n>:<值n>}

字典的索引:

字典中键值对的索引模式如下,采用中括号格式:
<> = <字典变量>[<>]

利用索引和赋值(=)配合,可以对字典中每个 元素进行修改。

d[“201802”] = ‘新小红’
print(d)
{‘201801’: ‘小明’, ‘201803’: ‘小白’, ‘201802’: ‘新小红’}

使用大括号可以创建字典。通过索引和赋值配合, 可以向字典中增加元素。

t = {}
t[“201804”] = “小新”
print(t)
{‘201804’: ‘小新’}
dict():生成一个空字典

字典操作方法:
d.keys() :返回所有的键信息
d.values() :返回所有的值信息
d.items() :返回所有的键值对
d.get(key, default):键存在则返回相应值,否则返回默认值
d.pop(key, default):键存在则返回相应值,同时删除键值对,否则返回默认值
d.popitem(): 随机从字典中取出一个键值对,以元组(key, value)形式返回
d.clear():删除所有的键值对

如果希望删除字典中某一个元素, 可以使用Python保留字del:

d = {“201801”:“小明”, “201802”:“小红”, “201803”:“小白”}
del d[“201801”]
print(d)
{‘201802’: ‘小红’, ‘201803’: ‘小白’}
字典类型也支持保留字in,用来判断一个键是否在字典 中。如果在则返回True,否则返回False:

d = {“201801”:“小明”, “201802”:“小红”, “201803”:“小白”}
“201801” in d
True

“201804” in d
False

字典的遍历:

for	<变量名>	in	<字典名>
         <语句块>

for循环返回的变量名是字典的索引值。如果需要获得键 对应的值,可以在语句块中通过get()方法获得。

d = {“201801”:“小明”, “201802”:“小红”, “201803”:“小白”}
for k in d:
print(“字典的键和值分别是:{}和{}”.format(k, d.get(k)))

7.文件和数据的格式化
文件类型:文本文件和 二进制文件:信息 按照非字符但特定格式形成的文件,例如,png 格式的图片文件、avi格式的视频文件。
文件的打开和关闭:
在这里插入图片描述
文件的操作方法:
语法形式:

<变量名> = open(<文件路径及文件名>, <打开模式>)

‘r’:只读模式,若文件不存在,返回异常filenotfounderror,默认值
‘w’:覆盖写模式,文件不存在则创建,存在则覆盖源文件(覆盖原文件是指关闭文件后再次打开文件写入时则覆盖原文件内容)
‘x’:创建写模式,文件不存在则创建,存在则返回异常fileexistserror
‘a’:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。
‘b’:二进制文件模式
‘t’:文本文件模式,默认值
‘+’:与r/w/x/a一起使用,在原功能基础还上同时增加读写功能
‘f.read(size=-1)’:从文件读入整个文件内容。参数可选,如果给出,读入前size长度的字符串或字节流
‘f.readline(size=-1)’:从文件读入一行内容。。参数可选,如果给出,读入该行 前size长度的字符串或字节流
‘f.readlines(hint=-1)’:从文件中读入所有行,以每行为元素形成一个列表。参数 可选,如果给出,读入hint行
‘f.seek(offset)’:改变当前文件操作指针的位置,offset的值: 0:文件开头; 2: 文件结尾
文件的读写:

f = open(<文件路径及名称>”, "r")  
for line in f:
# 处理一行数据
f.close()

一维数据的储存:
csv格式:用逗号分割的储存格式,可用wps文档打开

ls = ['北京', '上海', '天津', '重庆']
f = open("city.csv", "w")
f.write(",".join(ls)+ "\n")
f.close()

北京,上海,天津,重庆
f = open("city.csv", "r")
ls = f.read().strip('\n').split(",")
f.close()
print(ls)
['北京', '上海', '天津', '重庆']

二维数据处理:

f = open("cpi.csv", "r")  
ls = []
for line in f:
  ls.append(line.strip('\n').split(","))
f.close()
print(ls)

for row in ls:
	for item in row:
		<对第row行第item列元素进行处理>

8.Python计算生态
计算思维的本质:抽象和自动化

程序设计方法: 1.自顶而下 2.自底向上

Python内置函数:
abs(x):x的绝对值
all(x):组合类型变量x中所有元素都为真时返回True,否则返回False;若x为空,返回True
any(x):组合类型变量x中任一元素都为真时返回True,否则返回False;若x为空,返回False
bin(x):将整数x转换为等值的二进制字符串
bin(1010)的结果是’0b1111110010’
bool(x):将x转换为Boolean类型,即True或False bool(’’) 的结果是False
chr(i):返回Unicode为i的字符
chr(9996)的结果是’✌ ’

complex(r,i):创建一个复数 r + i*1j,其中i可以省略 ;complex(10,10)的结果是10+10j 创建字典类型
dict():dict()的结果是一个空字典{}
divmod(a,b):divmod(10,3)结果是一个(3,1)
eval(s):计算字符串s作为Python表达式的值
eval(‘1+99’)的结果是100
exec(s):计算字符串s作为Python语句的值
exec(‘a = 1+999’)运行后,变量a的值为1000
float(x):将x转换成浮点数 float(1010)的结果是1010.0 将整数转换为16进制字符串
hex(x):hex(1010)的结果是’0x3f2’
Input(s):获取用户输入,其中s是字符串,作为提示信息s可选
Int(x):将x转换成整数;int(9.9)的结果是9
list(x):创建或将变量x转换成一个列表类型
list({10,9,8})的结果是[8,9,10]
max(a1,a2,…):返回参数的最大值 max(1,2,3,4,5)的结果是5
min(a1,a2,…):返回参数的最小值 min(1,2,3,4,5)的结果是1
oct(x):oct(1010)的结果是’0o1762’
open(fname,m):打开文件,包括文本方式和二进制方式等;其中,m部分可以省略,默认是以文本可读形式打开
ord©:返回一个字符的Unicode编码值ord(‘字’)的结果是23383
pow(x,y):返回x的y次幂 pow(2,pow(2,2))的结果是16 打印变量或字符串x
print(x):print()的end参数用来表示输出的结尾字符
range(a,b,s):从a到b(不含)以s为步长产生一个序列 list(range(1,10,3))的结果是[1, 4, 7] 返回组合类型r的逆序迭代形式
reversed®:for i in reversed([1,2,3])将逆序遍历列表 四舍五入方式计算n
round(n):round(10.6)的结果是11 将组合数据类型x转换成集合类型
set(x):set([1,1,1,1])的结果是{1}
sorted(x):对组合数据类型x进行排序,默认从小到大
sorted([1,3,5,2,4])的结果是[1,2,3,4,5]
str(x):str(0x1010)的结果是’4112’
sum(x): 对组合数据类型x计算求和结果,sum([1,3,5,2,4])的结果是15 返回变量x的数据类型
type(x):type({1:2})的结果是<class ‘dict’>

9.Python标准库概览
turle库(海龟):基本的图形绘制;turtle库绘制图形有一个基本框架:一个小海龟在坐标系 中爬行,其爬行轨迹形成了绘制图形。
turle库的导入:
(1)import turtle
turtle.circle(200)
(2)from turtle import *
circle(200)
(3)import turtle as t
t.circle(200)
窗体函数:
turtle.setup(width, height, startx, starty)
作用:设置主窗体的大小和位置 参数:
width :窗口宽度,如果值是整数,表示的像素值;如果值
是小数,表示窗口宽度与屏幕的比例;
height: 窗口高度,如果值是整数,表示的像素值;如果
值是小数,表示窗口高度与屏幕的比例;
startx:窗口左侧与屏幕左侧的像素距离,如果值是None
,窗口位于屏幕水平中央;
starty:窗口顶部与屏幕顶部的像素距离,如果值是None
,窗口位于屏幕垂直中央;

画笔状态函数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
画笔运动函数:
在这里插入图片描述

turtle.fd()函数最常用,它控制画笔向当前行进 方向前进一个距离:
turtle.fd(distance) 别名 :turtle.forward(distance)
作用:向小海龟当前行进方向前进distance距离 参数:
distance :行进距离的像素值,当值为负数时,表示向相反方向前进。

turtle.seth()函数用来改变画笔绘制方向:
turtle.seth(to_angle) 别名 :turtle.setheading(to_angle)
作用:设置小海龟当前行进方向为to_angle,该角度是绝对方向角度值。 参数:
to_angle :角度的整数值。

turtle.circle()函数用来绘制一个弧形:
turtle.circle(radius, extent=None)
作用:根据半径radius绘制extent角度的弧形。 参数:
radius :弧形半径,当值为正数时,半径在小海龟左侧,当值为负数时,半
径在小海龟右侧;
extent : 绘制弧形的角度,当不给该参数或参数为None时,绘制整个圆形。

random库:使用random库主要目的是生成随机数,这个库提供了不同类型的随机数函数,其中最基本的函数是random.random(),它生成 一个[0.0, 1.0)之间的随机小数,所有其他随 机函数都是基于这个函数扩展而来。

from random import *
random()
0.5780913011344704

random()
0.20609823213950174

random库常用函数:
在这里插入图片描述

random库使用random.seed(a)对后续产生的 随机数设置种子a
设置随机数种子的好处是可以准确复现随机 数序列,用于重复程序的运行轨迹。对于仅 使用随机数但不需要复现的情形,可以不用 设置随机数种子。如果程序没有显式设置随机数种子,则使用 随机数生成函数前,将默认以当前系统的运 行时间为种子产生随机序列。:

from random import *
seed(10)
random()
0.5714025946899135

random()
0.4288890546751146

seed(10) #再次设置相同的种子,则后续产生的随机数相同
random()
0.5714025946899135

random()
0.4288890546751146

time库:处理时间是程序最常用的功能之一,time库 是Python提供的处理时间标准库。time库提 供系统级精确计时器的计时功能,可以用来 分析程序性能,也可让程序暂停运行时间。

import time
time.localtime() time.struct_time(tm_year=2019, tm_mon=6, tm_mday=20, tm_hour=21, tm_min=8, tm_sec=43, tm_wday=3, tm_yday=171, tm_isdst=0)

功能:
时间处理:time.time() 、time.gmtime()、time.localtime() 、 time.ctime()
时间格式化:time.mktime()、time.strftime()、time.strptime()
计时:time . sleep()、time.monotonic()、time.perf_counter()

1.使用time.time()获取当前时间戳:

import time
time.time()
1561037016.339122

2.使用time.gmtime(secs)获取当前时间戳对应 的struct_time对象:

time.gmtime(now)
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=20, tm_hour=13, tm_min=23, tm_sec=36, tm_wday=3, tm_yday=171, tm_isdst=0)

3.使用time.localtime(secs)获取当前时间戳对 应的本地时间的struct_time对象:

time.localtime(now)
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=20, tm_hour=21, tm_min=8, tm_sec=43, tm_wday=3, tm_yday=171, tm_isdst=0)
注意结果与gmtime的区别,UTC时间已自动 转换为北京时间。

4.使用time.ctime(secs)获取当前时间戳对应的 易读字符串表示,内部会调用time.localtime() 函数以输出当地时:

time.ctime(now)
‘Thu Jun 20 21:11:00 2019’

5.时间格式化:
在这里插入图片描述

6.调用time.mktime(t)函数:

t = time.localtime(now)
time.mktime(t)
1516939876.0

time.ctime(time.mktime(t))
‘Fri Jan 26 12:11:16 2018’

7.time.strftime()函数是时间格式化最有效的方法,几 乎可以以任何通用格式输出时间。该方法利用一个 格式字符串,对时间格式进行表达。

lctime = time.localtime()
lctime
time. struct_ time( tm_ year= 2018 , tm_ mon= 1 , tm_ mday= 26 , tm_hour=12, tm_min=55, tm_sec=20, tm_wday=4, tm_yday=26, tm_isdst=0)

time.strftime("%Y-%m-%d %H:%M:%S", lctime) ‘2018-01-26 12:55:20’

strftime()方法的格式化控制符
在这里插入图片描述

8.strptime()方法与strftime()方法完全相反,用 于提取字符串中时间来生成strut_time对象, 可以很灵活的作为time模块的输入接口

timeString = ‘2018-01-26 12:55:20’
time.strptime(timeString,"%Y-%m-%d%H:%M:%S") time.struct_time(tm_year=2018, tm_mon=1, tm_mday=26, tm_hour=12, tm_min=55, tm_sec=20, tm_wday=4, tm_yday=26, tm_isdst=-1)
在这里插入图片描述

10.Python第三方库概览
PyInstaller库概述:PyInstaller是一个十分有用的Python第三方库,它能够 在Windows、Linux、Mac OS X等操作系统下将Python 源文件打包,变成直接可运行的可执行文件。
通过对源文件打包,Python程序可以在没有安装Python 的环境中运行,也可以作为一个独立文件方便传递和管 理。
PyInstaller库与程序打包:方法:
:>PyInstaller <Python源程序文件名>
执行完毕后,源文件所在目录将生成dist和build 两个文件夹。最终的打包程序在dist内部与源文 件同名的目录中。
可以通过-F参数对Python源文件生成一个独立的 可执行文件,如下:
:>PyInstaller -F <Python源程序文件名>
执行后在dist目录中出现了SnowView.exe文件, 没有任何依赖库,执行它即可显示雪景效果。
在这里插入图片描述
jieba库概述:由于中文文本中的单词不是通过空格或者标点符 号分割,中文及类似语言存在一个重要的“分词” 问题。
jieba(“结巴”)是Python中一个重要的第三 方中文分词函数库。jieba库支持三种分词模式:精确模式,将句子最 精确地切开,适合文本分析;全模式,把句子中 所有可以成词的词语都扫描出来,速度非常快, 但是不能解决歧义;搜索引擎模式,在精确模式 基础上,对长词再次切分,提高召回率,适合用 于搜索引擎分词。
jieba.lcut(s):是最常用的中文分词函数,用于精准 模式,即将字符串分割成等量的中文词组,返回 结果是列表类型。

import jieba
ls = jieba.lcut(“全国计算机等级考试Python科目”)
print(ls)
[‘全国’, ‘计算机’, ‘等级’, ‘考试’, ‘Python’, ‘科目’]

jieba.lcut(s, cut_all = True):用于全模式,即将字 符串的所有分词可能均列出来,返回结果是列表 类型,冗余性最大。

import jieba
ls = jieba.lcut(“全国计算机等级考试Python科目”, cut_all=True)
print(ls)
[‘全国’, ‘国计’, ‘计算’, ‘计算机’, ‘算机’, ‘等级’, ‘考试’, ‘Python’, ‘科目’]

jieba.lcut_for_search(s):返回搜索引擎模式,该 模式首先执行精确模式,然后再对其中长词进一 步切分获得最终结果。

import jieba
ls = jieba.lcut_for_search(“全国计算机等级考试Python科目”)
print(ls)
[‘全国’, ‘计算’, ‘算机’, ‘计算机’, ‘等级’, ‘考试’, ‘Python’, ‘科 目’]

jieba.add_word():函数,顾名思义,用来向jieba词库增加新的单词。

import jieba
jieba.add_word(“Python科目”)
ls = jieba.lcut(“全国计算机等级考试Python科目”)
print(ls)
[‘全国’, ‘计算机’, ‘等级’, ‘考试’, ‘Python科目’]

wordcloud库概述:词云以词语为基本单元,根据其在文本中出现的 频率设计不同大小以形成视觉上不同效果,形成 “关键词云层”或“关键词渲染”,从而使读者 只要“一瞥”即可领略文本的主旨。
wordcloud库是专门用于根据文本生成词云的 Python第三方库,十分常用且有趣。可视化词云:在生成词云时,wordcloud默认会以空格或标点 为分隔符对目标文本进行分词处理。对于中文文 本,分词处理需要由用户来完成。一般步骤是先 将文本分词处理, 然后以空格拼接, 再调用 wordcloud库函数。
wordcloud库的核心是WordColoud类,所有的 功能都封装在WordCloud类中。使用时需要实 例化一个Word Coloud类的对象, 并调用其 generate(text)方法将text文本转化为词云。
在这里插入图片描述
下面以Alice梦游仙境为例,展示参数、方法的 使用:
在这里插入图片描述
from wordcloud import WordCloud
from scipy.misc import imread
mask = imread(‘AliceMask.png’)
with open(‘AliceInWonderland.txt’, ‘r’, encoding=‘utf-8’) as file:
text = file.read()
wordcloud = WordCloud(background_color=“white”,
width=800, \ height=600, \ max_words=200, \ max_font_size=80, \ mask = mask, ).generate(text)
#保存图片
wordcloud.to_file(‘AliceInWonderland.png’)

11.第三方库纵览(python学习具体方向)
Python网络爬虫库 :requests和scrapy :
requests库:一个简洁且简单的处理HTTP请求的第三方 库,它的最大优点是程序编写过程更接近正常URL访问 过程。这个库建立在Python语言的urllib3库基础上。 request库支持非常丰富的链接访问功能。
scrapy库:Python开发的一个快速的、高层次的Web获取 框架。不同于简单的网络爬虫功能,scrapy框架本身包 含了成熟网络爬虫系统所应该具有的部分共用功能,scrapy用途广泛,可以应用于专业爬虫系统的构建、数 据挖掘、网络监控和自动化测试等领域。

数据分析 :Python的一个优势方向,具有大批高质量的 第三方库。这里仅介绍3个最常用的生态库:numpy、 scipy和pandas。

numpy:Python的一种开源数值计算扩展第三方库,用 于处理数据类型相同的多维数组(ndarray),简称“数 组”。
这个库可用来存储和处理大型矩阵,比Python语言提供 的列表结构要高效的多。numpy提供了许多高级的数值 编程工具,如:矩阵运算、矢量处理、N维数据变换等。numpy内部是C语言编写,对外采用Python语言进行封 装,因此,在进行数据运算时,基于numpy的Python程 序可以达到接近C语言的处理速度。numpy也成为 Python数据分析方向各其他库的基础依赖库,已经成为 了科学计算事实上的“标准库”。

scipy:scipy是一款方便、易于使用、专为科学和工程设计的 Python工具包。在numpy库的基础上增加了众多的数学、 科学以及工程计算中常用的库函数。它包括统计、优化、 整合、线性代数、傅里叶变换、信号分析、图像处理、 常微分方程求解等众多模块。

Pandas:是基于numpy扩展的一个重要第三方库,它是为 了解决数据分析任务而创建的。Pandas提供了一批标准 的数据模型和大量快速便捷处理数据的函数和方法,提 供了高效地操作大型数据集所需的工具。p a n d a s 提供两种最基本的数据类型: S e r i e s 和

DataFrame,分别代表一维数组和二维数组类型。

文本处理方向:Python语言非常适合处理文本,因此,在这个 方向也形成了大量有价值的第三方库。这里介绍 4个最常用的生态库:pdfminer、openpyxl、 python-docx、beautifulsoup4。

Pdfminer:是一个可以从PDF文档中提取各类信 息的第三方库。与其他PDF相关的工具不同,它 能够完全获取并分析P D F 的文本数据。 Pdfminer能够获取PDF中文本的准确位置、字 体、行数等信息,能够将PDF文件转换为HTML 及文本格式。p d f m i n e r 包含两个重要的工具: p d f 2 t x t . p y 和dumppdf.py。pdf 2 txt. py能够从PDF文件中提取所有文本内容。 dumppdf.py能够把PDF文件内容变成XML格式,并进 一步提取其中的图片。

Openpyxl:是一个处理Microsoft Excel文档的Python第三 方库,它支持读写Excel的xls、xlsx、xlsm、xltx、xltm 等格式文件,并进一步能处理Excel文件中excel工作表、 表单和数据单元。

python-docx:是一个处理Microsoft Word文档的Python 第三方库,它支持读取、查询以及修改doc、docx等格 式文件,并能够对Word常见样式进行编程设置,包括: 字符样式、段落样式、表格样式等,进一步可以使用这 个库实现添加和修改文本、图像、样式和文档等功能。

beautifulsoup4库:也称为Beautiful Soup库或 bs4库,用于解析和处理HTML和XML。需要注 意,它不是BeautifulSoup库。它的最大优点是 能根据HTML和XML语法建立解析树,进而高 效解析其中的内容。beautifulsoup4库将数据从HTML和XML文件中解析出 来,它能够提供一种符合习惯的方法去遍历搜索和修改 解析树,将专业的Web页面格式解析部分封装成函数, 提供了若干有用且便捷的处理函数。

数据可视化 :matplotlib、TVTK、mayavi。

用户图形界面方向 :pyqt5、wxpython、pygtk。

机器学习 :Scikit-learn、TensorFlow、Theano。

Web开发方向 :Django、Pyramid、Flask。

游戏开发方向 :Pygame、 Panda3D、cocos2d。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鎮後生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值