自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 斐波那契的几种实现方式

1.迭代器实现迭代器生成class F(): def __init__(self,all_num): self.num = 0 # 计数,记录取值的次数,如果次数超过,就抛异常 self.all_num = all_num # 要取值的个数 self.a = 1 self.b = 1 def __iter__...

2019-06-29 16:38:45 284

原创 Python模块搜索顺序

模块搜索路径当你导入一个模块,Python解析器对模块位置的搜索顺序是:**1、**当前目录**2、**如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。由sys模块的sys.path方法来规定因为sys.path返回的数据类型是列表**1、**列表可以修改、我们导入的范围也可以通过修改sys.path这个列表获得暂时的修改。例如通过 sys.pat...

2019-06-25 21:58:29 1041

原创 代理 IP 里的“透明”“匿名”“高匿”

透明代理的意思是客户端根本不需要知道有代理服务器的存在,但是它传送的仍然是真实的 IP。你要想隐藏的话,不要用这个。普通匿名代理能隐藏客户机的真实 IP,但会改变我们的请求信息,服务器端有可能会认为我们使用了代理。不过使用此种代理时,虽然被访问的网站不能知道你的 ip 地址,但仍然可以知道你在使用代理,当然某些能够侦测 ip 的网页仍然可以查到你的 ip。高匿名代理不改变客户机的请求,这样在服...

2019-06-24 20:39:44 779

原创 MySQL、MongoDB、Redis数据库的区别

MySQL 数据库:开源免费的关系型数据库,需要实现创建数据库、数据表和表的字段,表与表之间可以进行关联(一对多、多对多),是持久化存储。Mongodb 数据库:是非关系型数据库,数据库的三元素是,数据库、集合、文档,可以进行持久化存储,也可作为内存数据库,存储数据不需要事先设定格式,数据以键值对的形式存储。redis 数据库:非关系型数据库,使用前可以不用设置格式,以键值对的方式保存,文件格...

2019-06-24 19:28:40 289

原创 http请求方法和socket套接字需要的参数

1.根据 HTTP 标准,HTTP 请求可以使用多种请求方法。HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。HTTP1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。1、GET 请求指定的页面信息,并返回实体主体。2、HEAD 类似于 get 请求,只不过返回的响应中没有具体的内容,用于获取报头3...

2019-06-24 17:25:33 805

原创 Post和get请求

Post 和 Get 请求的区别?GET 请求,请求的数据会附加在 URL 之后,以?分割 URL 和传输数据,多个参数用&连接。URL 的编码格式采用的是 ASCII 编码,而不是 uniclde,即是说所有的非 ASCII 字符都要编码之后再传输。POST 请求:POST 请求会把请求的数据放置在 HTTP 请求包的包体中。上面的 item=bandsaw 就是实际的传输数据。因此...

2019-06-24 16:41:51 100

原创 TCP 和 UDP 的区别以及优缺点

UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息。优点:UDP 速度快、操作简单、要求系统资源较少,由于通讯不需要连接,可以实现广播发送缺点:UDP 传送数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,也不重复发送,不可靠。TCP 是面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手优点:TCP 在数据传递时,有...

2019-06-24 16:15:43 90

原创 树的术语

节点的度:一个节点含有的子树的个数称为该节点的度;树的度:一棵树中,最大的节点的度称为树的度;叶节点或终端节点:度为零的节点;父亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;兄弟节点:具有相同父节点的节点互称为兄弟节点;节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;树的高度...

2019-06-24 10:08:50 335

原创 常见算法

1.二分查找def half_search(list,num): n =len(list) # 确定要查找的范围的起始索引和结束索引 start = 0 end = n-1 while end >= start: mid = (start + end) // 2 # 如果中位数大于查询的数,说明该查找的数在中位数的左边...

2019-06-21 00:28:21 92

原创 MySQL数据库事务的特性

事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这四个特性也简称ACID性。(1)原子性:是指事务是一个不可再分割的工作单位,事务中的操作要么都发生,要么都不发生。就如原子是自然界最小颗粒,具有不可再分的特征一样。(2)一致性:事务执行的结果,必须使数据库从一个一致性状态,变到另一个一致性状态。当数...

2019-06-20 23:37:55 94

原创 MySQL数据库两大存储引擎的区别

两种存储引擎的大致区别表现在:1)InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。2)MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用3)InnoDB支持外键,MyISAM不支持4)从MySQL5.5.5以后,InnoDB是默认引擎5)...

2019-06-20 19:04:33 701

原创 统计字符串中各元素的个数

d = 'abcdakkawu'l = {} # 创建一个空字典,键为元素,值为该元素出现的次数for i in set(d): # 通过集合去重,知道里面有哪些元素 l[i] = d.count(i) # 添加字典,键为元素,值为该元素在字符串中的个数print(l)...

2019-06-19 23:34:38 2940

原创 python2和python3的几个区别

1、Python3 使用 print 必须要以小括号包裹打印内容,比如 print(‘hi’)Python2 既可以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如 print ‘hi’2、python2 range(1,10)返回列表,python3中返回迭代器,节约内存3、python2中使用ascii编码,python中使用utf-8编码4、python2中unicode表...

2019-06-19 22:40:28 91

原创 MySQL数据库插入数据中文乱码问题解决

(1). 查看使用的编码show variables like ‘character%’其中最重要的是 客户端编码和 结果集编码和 服务器编码(2). 默认客户端使用的编码 GBK客户端使用的是gbk,而数据库让客户端使用utf-8,因此出错,但是客户端编码集是不能被修改的(3).手动修改编码集a).告知服务器端客户端使用的编码set character_set_client=g...

2019-06-19 21:38:57 1857

原创 进程之间的通信 -队列

进程之间通讯进程可以理解为复制了一份程序有加载到了内存了,进程之间是独立的,如果我想两个进程之间进行通讯怎么办呢?我们可以使用Queue 队列,队列是一种先进先出的存储数据结构,就比如排队上厕所一个道理。两个进程通讯,就是一个子进程往queue中写内容,另一个进程从queue中取出数据。就实现了进程间的通讯了。(1).queue队列1.创建 queue队列对象q = multiproce...

2019-06-19 21:00:17 134

原创 进程中的状态

在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。(1)就绪(Ready)状态当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。(2)执行/运行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。(3)阻塞(Blocked)状态正在执行的进程,由于等待某个事件发...

2019-06-19 20:41:52 201

原创 合并两个字典

1.第一种方法dict1 ={'name':'zs','age':12}dict2 ={'height':1.7,'gender':'男'}dict3 = dict(dict1,**dict2)print(dict3) # {'age': 12, 'name': 'zs', 'gender': '男', 'height': 1.7}2.第二种方法dict1 ={'name':'...

2019-06-19 19:49:39 824 1

原创 关于格式化 % 和 forma的区别

1.字符串格式化:%和.format.format在许多方面看起来更便利.对于%最烦人的是它无法同时传递一个变量和元组.你可能会想下面的代码不会有什么问题:name = 'zs'print('{}'.format(name))print('%s'%(name))但是,如果name恰好是(1,2,3),它将会抛出一个TypeError异常.为了保证它总是正确的,你必须这样做:set ...

2019-06-18 21:49:13 233

原创 requests 返回的 content 和 text 的区别

1.查看编码格式 : response.encoding2.修改编码格式:response.encoding=“gbk”

2019-06-17 23:52:52 378

原创 内存泄漏

定义:内存泄露是指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。导致程序运行速度减慢甚至系统崩溃等严重后果。解决方法:有 del() 函数的对象间的循环引用是导致内存泄漏的主凶。不使用一个对象时使用:del object 来删除一个对象的引用计数就可以有效防止内存...

2019-06-13 23:20:54 138

原创 Python内存管理机制

1.引用计数引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引用计数降为 0 时,说明没有任何引用指向该对象,该对象就成为要被回收的垃圾了。比如某个新建对象,它被分配给某个引用,对象的引用计数变为 1,如果引用被删除,对象的引用计数为 0,那么该对象就可以被垃圾回收。不过如果出现循环引用的话,引用计数机制就不再起有效的作用了2.标记清除如...

2019-06-13 22:52:36 57

原创 numpy 数组

1. 通过array创建一维数组arry = np.array([1,2,3])print(arry) # [1 2 3]print(arry.dtype) # int32 数据类型print(arry.itemsize) # 4 元素大小 一个元素占的字节print(arry.shape) # (3,) 表示几行几列 本题中三行一列print(arry.ndim) # 1 维...

2019-06-13 20:47:32 323

原创 Python 中的类方法和静态方法

1、静态方法(1).格式:在方法上面添加 @staticmethod(2).参数:静态方法可以有参数也可以无参数(3).应用场景:一般用于和类对象以及实例对象无关的代码。(4).使用方式: 类名.静态方法名(或者对象名.静态方法名)。class Hello(object): @staticmethod def say(): print('hello wo...

2019-06-12 23:16:36 105

原创 Python内置函数

1.abs()函数求数字的绝对值ret = abs(-21)print(ret)2.max()函数max(iterable, key, default) 求迭代器的最大值,其中iterable 为迭代器,max会for i in … 遍历一遍这个迭代器,然后将迭代器的每一个返回值当做参数传给key=func 中的func(一般用lambda表达式定义) ,然后将func的执行结果传给...

2019-06-12 22:58:24 284

原创 列表去重的几种方法

1.通过set 集合进行去重list1 = [1,2,3,1,3,4,5,6,7,6]new_list = list(set(list1)) # 通过set 集合去重的方式print(new_list) # [1, 2, 3, 4, 5, 6, 7]2.通过遍历原列表中的元素,添加到新列表中,一个元素只能添加一次list2 = [1,2,3,1,3,4,5,6,7,6]new_li...

2019-06-12 22:02:04 8354

原创 列表

1.列表定义及格式定义:列表是一个可修改的,元素以逗号分割,以中括号包围的有序序列。格式:变量名=[元素1,元素2,元素3,…]2.列表操作⑴两个列表相加list1 = [1,2,3]list2 = [4,5,6]print(list1 + list2) # [1, 2, 3, 4, 5, 6]⑵增加操作appendlist1 = [1,2,3]list2 = [3...

2019-06-12 20:50:58 131

原创 列表中有字典 根据字典中的某个值进行排序

info_dict_list = [{'name':'zs','age':12},{'name':'ls','age':16},{'name':'ww','age':10}]# 定义一个排序函数,返回排序后的结果def sort_by_age(): # key 表示排序的依据准则,根据age的值进行排序 # x['age'] 表示lambda的结果,x 表示传入的参数本题为...

2019-06-12 20:12:05 1734

原创 字典和json的区别,json.dumps,json.dump,json.loads和json.load

字典是一种数据结构,json 是一种数据的表现形式,字典的 key 值只要是能 hash 的就行,json 的必须是字符串。

2019-06-12 19:17:15 235

原创 Python 中的作用域 问题

作用域指的是变量在程序中的可应用范围。作用域按照变量的定义位置可以划分为4类即LEGB:Local(函数内部)局部作用域。Enclosing(嵌套函数的外层函数内部)嵌套作用域(闭包)。Global(模块全局)全局作用域。Built-in(内建)内建作用域。(指的是builtins.py模块)搜索顺序:Python内层作用域访问外层作用域时的顺序:Python搜索4个作用域[本地作...

2019-06-11 23:26:04 189

原创 解释型和编译型语言

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。解释性语言在运行程序的时候才会进行翻译。编译型语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成机器语言(可执行文件)我们在电脑上写的内容保存到电脑上的时候在磁盘上保存的形式都是二进制01010这种形式来保存。当我们再次打开文件的时候,电脑会将二进制数据转换为我们...

2019-06-11 23:06:46 140

原创 Python 特点

1.优缺点优点:1.简单易学:Python阅读一个良好的Python程序就感觉像是在读一篇文章一样。2.开发效率非常高:Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。3.面向对象:Python语言编程思想更加符合我们人的逻辑思维,而不用再像C...

2019-06-11 22:54:27 153

原创 http 知识点 响应状态码 cookie 和session

1.响应状态码响应状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。常见状态码:100~199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个 处理过程。200~299:表示服务器成功接收请求并已完成整个处理过程。常用200(OK 请求成功)。300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302...

2019-06-11 22:31:35 300

原创 tcp协议 三次握手 四次挥手

TCP(Transmission Control Protocol)可靠的、面向连接的协议(什么是面向连接呢?就是发送消息之前先建立连接然后再发送消息例如打电话场景,在网络中具体指的是三次握手)TCP协议特点:数据安全,速度略低。分为客户端和服务端。使用TCP的应用:Web浏览器;电子邮件等程序。TCP的三次握手和4次挥手TCP三次握手:三次握手就是客户端和服务器进行通信的时候有三次交...

2019-06-11 22:18:09 148

原创 七层网络模型

1.应用层 (Application):网络服务与最终用户的一个接口。协议有:HTTP FTP TFTP SMTP SNMP DNS2.表示层(Presentation Layer):数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)格式有,JPEG、ASCll、DECOIC、加密格式等3.会话层(Session Layer):建立、管理、终止会话。(在五层模型里面已经合...

2019-06-11 22:04:32 123

原创 文件操作

1.文件权限2.、文件操作(1).read()调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,会导致程序卡死,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字符的内容。(2).readline()readline每次读取一行,并且自带换行功能 每一行末尾会读到\n(3).readlines()Readlines,一次性以行的形...

2019-06-11 21:56:48 87

原创 异常

一、异常异常是指在语法正确的前提下,程序运行时报错就是异常。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。二、异常捕获...

2019-06-11 21:43:18 76

原创 生成四位随机验证码

所需知识点1.random.randrange([start],stop[, step]):从指定范围内,按指定基数递增的集合中获取一个随机数。不包括stop例如 :random.randrange(1,8,2) 就是在 1,3,5,7 中选随机数2.random.randint(a,b):用于生成一个指定范围内的整数,生成的随机数n:a<=n<=b3.random.rand...

2019-06-10 23:24:50 2222

原创 Python知识点

1.描述数组、链表、队列、堆栈的区别?数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据;队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出;队列和堆栈可以用数组来实现,也可以用链表实现。2.sum() 方法对系列进行求和计算。sum(iterable[, start])iterable – 可迭代对象,如列表。start ...

2019-06-10 23:19:08 90

原创 深浅拷贝

import copy# 1.赋值操作a = [1,2,3]# 赋值是对对象的引用,对其中一个做改变也会影响另一个,两者只是对值的引用,共同体b = aprint(b) # [1, 2, 3]# 此时对b 的操作会影响ab.append(0)a.append(9)print(b) # [1, 2, 3,0,9]print(a) # [1, 2, 3,0,9]# 2.浅拷贝 ...

2019-06-10 22:02:44 88

原创 Python随机数

1.random.randomimport randomt=random.random() #随机产生在0~1的浮点数 0<=t<1print(t) 2.random.randrange([start],end,[step])t2=random.randrange(2) #random.randrange([start],end,[step]) 随机产...

2019-05-03 22:01:45 127

空空如也

空空如也

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

TA关注的人

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