- 博客(96)
- 收藏
- 关注
原创 栈 队列 双端队列的实现
1.栈class Stack(object): """栈""" def __init__(self): self.__list = [] def push(self,item): """添加新元素item到栈顶""" self.__list.append(item) def pop(self): ...
2019-07-18 14:32:46
278
原创 手写单链表
class Node(object): """节点"""" def __init__(self,elem): """初始化一个节点""" self.elem = elem self.next = Noneclass SingleLinkList(object): def __init__(self,node ...
2019-07-18 00:19:39
393
原创 UDP和TCP协议 详解
1.使用udp发送接收数据步骤:1.创建客户端套接字2.发送/接收数据3.关闭套接字import socketdef main(): ##1.创建udp套接字 ##socket.AF_INET 表示IPv4协议 AF_INET6表示IPv6协议 ##socket.SOCK_DGRAM 数据报套接字,只应用于udp协议 udp_s...
2019-06-27 11:48:10
368
原创 python——内存泄漏是什么?如何避免
指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。导致程序运行速度减慢甚至系统崩溃等严重后果。有 __del__() 函数的对象间的循环引用是导致内存泄漏的主凶。不使用一个对象时使用:del object 来删除一个对象的引用计数就可以有效防止内存泄漏问题。通...
2019-06-26 17:29:17
3318
原创 python——内存管理机制和垃圾回收机制
1.python的内存管理机制和调优手段内存管理机制:引用计数、垃圾回收、内存池。引用计数:引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加 1, 当其不再被一个变量引用时则计数减 1. 当引用计数等于 0 时对象被删除。垃圾回收:1. 引用计数引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某...
2019-06-26 17:27:18
223
原创 linux——文件的切割与合并
一.文件切割 split文本切割有两种模式:1.文本模式切割文本模式只适用于文本文件,用这种模式切割后的每个文件都是可读的。文本模式又分为两种:按最大文件大小切割和按文本行数切割。按文件大小切割: split - C 50k log.log splog 将文本文件log.log按每块最大50k的大小进行切割,不打碎行。输出文件名类似splogaa, splogab…… 按文...
2019-06-26 09:24:22
1060
原创 pandas——交叉表与透视表
1.使用povit_table函数创建透视表利用pivot_table函数可以实现透视表,pivot_table()函数的常用参数及其使用格式如下。pands.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean',fill_value=None, margins=False, dropna=Tru...
2019-06-19 20:42:45
1179
原创 pandas——分组与聚合
1.使用groupby方法拆分数据groupby方法的参数及其说明该方法提供的是分组聚合步骤中的拆分功能,能根据索引或字段对数据进行分组。DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True,squeeze=False,**kwargs)参数说明 说...
2019-06-19 20:31:42
698
原创 pandas——描述性统计方法和时间类型
1.pandas描述性统计方法pandas提供了更加便利的方法来计算均值 ,如 detail['amounts'].mean()pandas还提供了一个方法叫作 describe,能够一次性得出数据框所有数值型特征的非空值数目、均值、四分位数、标准差。detail[['counts','amounts']].describe()方法名称 说明 方法名称 说明 m...
2019-06-19 19:42:10
3450
1
原创 pandas——DataFrame的增删改查操作
1.DataFrame的属性values 元素 index 索引 columns 列名 dtypes 类型 size 元素个数 ndim 维度数 shape 数据形状(行列数) 2.查看访问DataFrame中的数据——数据的基本查看方式对单列数据的访问:DataFrame的单列数据为一个Series。根据DataFra...
2019-06-18 21:28:51
1792
原创 pandas——读写csv文件和excel文件
1.文本文件的读取文本文件是一种由若干行字符符构成的计算机文件,它是一种典型的顺序文件。csv是一种逗号分隔的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格数据(数字和文本)注:(1)csv文件根据其定义也是一种文本文件;(2)文本文件是字符分割文件。使用read_table来读取文本文件:pandas.read_table(filepat...
2019-06-18 20:52:53
1206
原创 matplotlib——直方图,箱线图的绘制
1.直方图的绘制——hish()绘制import matplotlib.pyplot as pltimport numpy as npimport math#### 创建画布plt.figure(figsize=(20,8))###创建数据age = [10,20,30,44,23,32,55,11,8,9,17,19,20,33,30,30,40,44,55,55,...
2019-06-18 19:26:32
1082
原创 matplotlib——折线图,散点图,柱状图,饼状图
1.折线图——plot函数绘图plot函数matplotlib.pyplot.plot(*args,**kwargs)参数名称 说明 x,y 接收array。表示x轴和y轴对应的数据。无默认。 color 接收特定string。指定线条的颜色。默认为None。 linestyle 接收特定string。指定线条类型。默认为“-”。 marke...
2019-06-17 21:37:18
787
1
原创 数据可视化——matplotlib
一.基本绘图流程:1.创建画布与创建子图:第一部分主要作用是构建出一张空白的画布,并可以选择是否将整个画布划分为多个部分,方便在同一幅上绘制多个图形的情况。最简单的绘图可以省略第一部分,二后直接在默认的画布上进行图形绘制。函数名称 函数作用 plt.figure 创建一个空白的画布,可以指定画布大小(figsize)和像素(dpi) figure.add_sub...
2019-06-17 20:39:43
453
原创 利用Numpy进行统计分析
1.读写文件Numpy文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式。save函数是以二进制的格式保存数据。np.save("../tmp/save_arr",arr)load函数是从二进制的文件中读取数据。np.load("../tmp/save_arr.npy")savez函数可以将多个数组保存到一个文件中。np.savez("../tmp/savez_arr"...
2019-06-15 10:59:11
3399
原创 Numpy矩阵与通用函数
1.创建矩阵(从源码看出,一般更推荐用mat,更加节省内存。因为matrix用了copy)impory numpy as np### 创建矩阵-----二维##使用mat函数创建矩阵m1 = np.mat("1 2 3;3 4 5;5 6 7") ## 空格隔开列,分号隔开行print(m1)print(type(m1))输出结果:[[1 2 3] [3...
2019-06-14 21:21:11
290
原创 Numpy——数组对象ndarray
1.什么事numpy?Numpy 是用于数据科学计算的基础,不但能够完成科学计算任务,还能被用作高效地多维数据容器。用于存储和处理大型矩阵。Python提供了一个array模块,和list不同,它直接保存数值,但是由于Python的array模块不支持多维,也没有各种运算函数。Numpy 弥补了这一遗憾。Numpy提供了一种存储单一数据类型的多维数组——ndarray2.nd...
2019-06-13 21:09:57
1832
原创 python爬虫之-------无界面爬取(快速入门)
一.基础1.PhoantomJS:无界面浏览器PhantomJS 是一个基于 Webkit 的“无界面”(headless)浏览器,它会把网站加载到内存并执行页面上的 JavaScript,因为不会展示图形界面,所以运行起来比完整的浏览器要高效。如果我们把 Selenium 和 PhantomJS 结合在一起,就可以运行一个非常强大的网络爬虫了,这个爬虫可以处理 JavaScrip、...
2019-05-15 21:25:21
1252
原创 http 与 https的区别
超文本传输协议Http协议被用于在web浏览器个网站服务器之间传递信息,HTTP以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HT...
2019-04-25 20:48:10
380
原创 django常用的自带过滤器
过滤器 描述 用法示例 结果 upper 以大写方式输出 {{ laobian | upper }} LAOBIAN 套接用法 一个过滤器管道的输出又可以作为下一个管道的输入 {{ [a,b,c] | first | upper }} [ A,B,C ] lower 以小写方式输出 {{...
2019-04-22 20:18:29
201
原创 django----自定义过滤器和自定义标签(好用)
最近自己在做项目的时候发现django中的过滤器和自定义标签太好用了,然后给大家介绍一下这两者的知识。一.自定义过滤器:1.安装app:2.在app当中创建了templatetags包,并在包下 创建过滤器文件3.在过滤器文件中定义自己的过滤器函数:4.在settings.py配置文件中进行注册:5.使用过滤器:views:展示效果...
2019-04-22 19:18:14
148
原创 Python+Django+Nginx+Uwsgi 详细部署过程(爬坑过程)
这个部署,我真的是爬了好久的坑,才爬出来,所以给大家分享一下,避免入坑。首先我们先了解一下相关知识:wsgi:一种实现python解析的通用接口标准/协议,是一种通用的接口标准或者接口协议,实现了python web程序与服务器之间交互的通用性。 利用它,web.py或bottle或者django等等的python web开发框架,就可以轻松地部署在不同的web server上了;...
2019-04-18 19:02:01
2899
1
原创 http请求时常返回的状态码
1.http状态码分类: 已定义范围 分类 1XX 100-101 信息提示 2XX 200-206 成功 3XX 300-305 重定向 4XX 400-415 客户端错误 5XX 500-505 服务器错误 2.常见的状态码:200 OK 服务器成...
2019-04-16 00:41:12
6145
原创 MTV模式
什么是MTV模式?就是把Web应用分为:模型(Model),模板(Template),视图(View)这三层,这样一来,各组件之间就保持了松耦合关系;M主要是用来负责业务对象和数据库对象,T负责把页面如何展示给用户,V负责业务逻辑,并在适当的时候调用M和T。对于Django来说,还有一个url分发器,它的作用就是将一个个url的页面请求分发给不同的V处理,V再调用相应的M和T。...
2019-04-10 23:48:49
4542
原创 python中 Cookie 和session的使用
一.Cookie 和 Session介绍:Cookie:Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客 户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务 器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改C...
2019-04-07 21:18:25
262
原创 线程----join()详解
今天突然觉得join函数好陌生 忘了是干嘛了的,所得花点回顾了一下。了解线程的知识 请点 --->> 了解更多的线程知识想要彻底了解join()就要先理解守护线程:守护线程的工作方式类似服务器,只要没有客户端发来请求,就一直运行并且保持空闲,很像是后台。threading模块建立的线程除了守护线程之外,其余的线程都会在主线程结束之前结...
2019-03-31 21:11:45
1444
1
原创 python中数据库的 ORM 操作
1.ORM介绍:1、对开发人员的要求比较高2、开发比较繁琐,sql命令的问题3、不利于数据库切换ORM:数据库映射关系。将python语句转义成sql语句和数据库交互1、使用方便2、执行效率下降2.Python的ORM_sqlalchemySqlalchemy 是python最为常用的三方ORM模块,Flask和tornado在生产环境当中,大部...
2019-03-31 15:56:32
460
原创 django-------数据库建模详细流程
django 鼓励开发者进行松耦合开发,所以在django开发当中,不能把 所有的功能放到项目的根下,而是将功能分成具体的块,块被称为app,只有在app当中可以利用django进行数据建模。django 采用了成熟的orm数据库建模技术,方便,快捷,直观。建模流程:1.启动虚拟环境在manage.py所在的目录的命令行当中启动虚拟环境。 ---> activat...
2019-03-30 19:57:07
308
原创 django--------block / extends / include
1.block在继承中的可以block来在父模板中挖坑,挖坑可以再子类内容设置一个预留位置,方便子类在对应位置填充内容。block思想:化整为零: 将一个完整的html用block划分成很多小块,开发者至于要考虑填充对应的小模块即可。 1.在父类中挖坑:{% block 坑的名字 %}{% endblock %}2.在子类中填坑:...
2019-03-30 13:54:29
2580
1
原创 django------创建项目及settings配置
一、创建项目1、切换到想创建Django项目的路径下,邮件------在此处打开命令2、激活Anacondaactivate django3、创建Django项目Django-admin startproject OurBlog4、在pycharm中打开项目 (1)打开项目时,必须在打开Django的项目OurBlog, (2) 环境变量的配置...
2019-03-30 11:12:24
358
原创 如何向docker库提交镜像
1.进入docker hub 官网创建新用户2.填写用户名邮箱密码3.登录4.登录docker hubDocker login --username=usernamePassword:密码successed5.提交镜像docker commit -m “镜像描述” -a“作者” 容器名称或者id 远程库的名字:上传到 docker hu...
2019-03-25 22:03:13
240
原创 docker 安装和基本使用------史上最全步骤
1.docker 的安装docker可以运行在windows上,linux上。centos系统对docker支持友好,centos上docker运行稳定。其他系统,docker需要到官网下载,解压,安装centos yum源自带docker。1.yum -y install docker2.查看是否安装成功 yum list installed | grep doc...
2019-03-25 20:56:58
772
原创 linux命令大全-----终极篇
目录1.ln命令2.date 设置linux时间和日期3.wc命令4.ps 查看进程5.top 正执行的进程6.kill 杀死进程 进程强制结束7.free 显示内存使用情况8.scp 输出文件9.yum命令1.ln命令ln功能是为文件在另一个位置建立一个同步的链接,,通过ln创建的链接(link)减少磁盘占用量链接分类:软链接和硬链接软链接...
2019-03-23 21:17:42
1184
原创 linux 命令大全------进阶篇
1.cat 显示文件详情cat有三大功能1.一次显示整个文件cat filename2.创建一个新文件cat > filename3.将几个文件合并为一个文件cat file1 file2 > file2.more 分页显示功能类似于cat,more会以一页一页的显示方便使用者逐页阅读,按空格space显示下一页,按b返回上一页显示。...
2019-03-23 19:01:36
257
原创 linux命令大全---入门篇(菜鸟必会)
目录1.开关机命令2.ifconfig 查看ip 地址3.和用户相关:4.文件权限相关及控制5.防火墙6.ls命令7.cd切换8.pwd 查看当前工作目录路径9.mkdir 创建文件夹10.rm 删除文件11.rmdir 删除空目录12、mv 移动、修改文件名13.cp 复制1.开关机命令reboot i...
2019-03-23 00:46:01
18869
2
原创 mysql数据库的导入导出(备份)
导出:选用school 数据库使用student 表接下来我们将 school中的student 表导出:mysqldump -u root -p database table > *.sql(mysqldump -u root -p 数据库名 表名 > 命名导出sql文件的名称)可以看出我们已经成功将school 的sql文件导出...
2019-03-19 20:47:19
170
原创 python中触发器的详细解惑
1.触发器的定义:触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。.安全性。可以基于数据库的值使用户具有操作数据库的某种权利。# 可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据。# 可以基于数据库中的数据限制用户的操作,例如不允许股票的价格的升幅一次超过10%。审计。可以...
2019-03-18 21:58:50
3521
原创 MySQL数据库的索引和视图
一.索引1.索引介绍:查询复杂度:这的是查询的次数,测试复杂度采用的是悲观态度。复杂度用O(x)表示。常规的查询:指顺序查询,按照顺序查询到结果为结束。复制速度为O(n).。比如我想查找一个容量为20的数据,查到第5个是想要 的结果,那复杂度也是O(20).排序的目的是为了提高查询效率对于MySQL任意一张表,常规使用的查询方法也是...
2019-03-18 19:23:03
201
原创 如何让别人 操作你的数据库(mysql)
工作中经常或遇到同事想要查看一下你的数据库,这时候就余姚你创建并 授权给你的同事。比如同事的端口是10.10.65.111,我的端口是10.10.65.1101.首先我需要创建允许远端登录的用户(密码是123):create user mm@10.10.65.111 identified by "123";2.授权给用户对数据库进行的操作:(增删改查)grant in...
2019-03-17 15:18:13
764
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人