自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

charuiyu的博客

人间值得

  • 博客(28)
  • 收藏
  • 关注

原创 银行家算法

一、银行家算法:[背景知识]一个银行家如何将一定数目的资金安全地借给若干个客户,使这些客户既能 借到钱完成要干的事,同时银行家又能收回全部资金而不至于破产,这就是银行家问题。这个问题同操作系统中资源分配问题十分相似:银行家就像一个操作系统,客户就像运行的进程,银行家的资金就是系统的资源。[问题的描述]一个银行家拥有一定数量的资金,有若干个客户要贷款。每个客户须在一开 始就声明他所需贷款的总...

2019-01-27 06:13:54 519

原创 生产者与消费者模式

生产者与消费者模式:1导入模块:from lxml import etreeimport requestsfrom threading import Threadfrom queue import Queue2.生产者:def get_page(url,page_list):headers = {‘User-agent’: ‘ios/xxxx.3.3.3.10’}while ...

2019-01-26 12:45:49 162

转载 协程

阅读目录1 协程2 Python中如何实现协程回到顶部1 协程1.1协程的概念  协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。(其实并没有说明白~)我觉得单说协程,比较抽象,如果对线程有一定了解的话,应该就比较好理解了。那么这么来理解协程比较容易:线程是系统级别的,它们是由操作系统调度;协程是程序级别的,由程序员根据需要自...

2019-01-22 09:20:21 206

原创 多线程VS多进程

多线程VS多进程进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口定义的不同进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一 个进...

2019-01-21 19:04:40 205

原创 洗牌算法

一、洗牌算法原理:算法描述:类似于我们平时玩扑克牌的洗牌过程,将一副未拆封的扑克牌(大小为n的有序数组),通过洗牌打乱排序(变成无重复的随机排列数组)。主要有全局洗牌以及局部洗牌两种思路。全局洗牌:循环n次,每次循环将第i张牌与牌库中的随机一张牌调换位置。局部洗牌:循环n次,每次循环将第i张牌与牌库中未洗到的随机一张牌(即牌库中除去前i-1张的剩余牌)调换位置。保证之前已经洗好的牌不会被再...

2019-01-20 20:29:51 1880

原创 python 全局变量与局部变量的区别

一、全局变量与局部变量:(1)全局变量:定义一个变量(全局变量就是定义在函数外面的变量)全局变量作用域是整个模块内部在函数的内部可以使用全局变量(用global 标识)eg: eg2:------不用global 标识 修改局部变量g_num=10 ...

2019-01-19 10:25:08 212

转载 C语言 全局变量和局部变量的区别

局部变量和全局变量的区别背景:上午看书阅及这两对概念,有很多相似之处,故记之。一. 局部变量&全局变量1 局部变量:“在函数内定义的变量”,即在一个函数内部定义的变量,只在本函数范围内有效。2 全局变量:“在函数外定义的变量”,即从定义变量的位置到本源文件结束都有效。目的:增加函数间数据联系的渠道。由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变...

2019-01-18 14:08:32 22859 2

原创 python 死锁

一、死锁原理:(1)在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁。(2)产生死锁的四个必要条件:①互斥条件:一个资源只能被一个进程使用;②请求与保持条件:一个进程因请求资源而阻塞时,对方已获得的资源不释放。③不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。④循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。二:...

2019-01-18 09:05:59 561

原创 python 互斥锁

一、互斥锁的作用:保证多线程下数据的正确性—某个线程要共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。互斥锁保证了每次只有一个线程进入写入操作,从而保证了多线程情况下数据的正确性二、互斥锁的实例:from threading import Lockfrom threading import...

2019-01-18 09:05:18 1328

原创 Python----递归函数

一、基础概念:(1)如果一个函数体直接或者间接调用自己,那么这个函数就称为递归函数;也就是说,递归函数体的执行过程中可能会返回去再次调用该函数.(2)递归三要素:①明确终止条件;②给出递归终止时的处理办法;③提取重复的逻辑,缩小问题规模;(3)递归要求:递归算法所体现的“重复”一般有三个要求:①每次调用在规模上都有所缩小(通常是减半)②是相邻两次重复之间有紧密的联系,前一次要为后...

2019-01-17 20:05:02 279

原创 小结:迭代器与生成器的区别

迭代器与生成器的区别:(1)生成器:生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。而且记录了程序执行的上下文。生成器不仅“记住”了它的数据状态,生成还记住了程序执行的位置。(2)迭代器迭代器是一种支持next()操作的对象。它包含了一组元素,当执行next()操作时,返回其中一个元素。当所有元素都被...

2019-01-17 09:08:43 23056 1

原创 Python 迭代器

一、迭代器基础概念:迭代器是一种支持next()操作的对象。它包含了一组元素,当执行next()操作时,返回其中一个元素。当所有元素都被返回后,再执行next()报异常—StopIteration迭代器是一个可以记住遍历的位置的对象;迭代器对象从集合的第一个元素开始访问,直到所有元素访问完成之后才结束;迭代器只能往前不能后退;迭代是访问集合元素的一种方式二、可迭代对象与迭代器对象的区...

2019-01-16 22:27:41 156

原创 Python基础知识-----生成器

一、生成器概念:二、生成器创建:方法1:将列表推导式的[]改成():eg:G = (i for i in range(100000000000))print(‘生成器:’,G)三、生成器与列表推导式的区别:(1)列表推导式:[i for i in range(10)],一次性直接全部输出,占用内存大eg:g=[i for i in range(10)]print(g) # ...

2019-01-16 22:12:43 230

原创 python 数据库---mysql存储引擎的区别

一、MyISAM:它不支持事务,也不支持外键,表级锁,尤其是访问速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。二、InnoDB:InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据存储提供了一个强大的解决方案InnoDB还引入了行级锁定和外键约束,在以下场合下,使用InnoDB是最理想的...

2019-01-16 19:42:54 381

原创 python数据结构之 栈 和 队列

一、栈 的特性:1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征eg:stack = [3, 4, 5]stack.append(6)stack.append(7)print( stack) #[3, 4, 5, 6, 7]print( stack.pop()) #[7] ...

2019-01-15 17:46:25 142

原创 Python 链表

一、链表基础概念(1)链表存储原理:解析:head为头节点,data:存储数据区域,next:存放下一结点的引用(2)判断链表是否有环:思想:定义两个指针—一个慢的slow.next,一个快的fast.next.next;两个指针同时从头部开始出发,如果相遇则有环,没有相遇,这没有环:代码实现:创建链表:class Node(object):def init(self,item...

2019-01-14 21:01:41 197 1

原创 python十大排序---归并排序

一、归并排序思想:(1) 归并排序的思想:  归并排序的思想就是:首先将原始数组对半切分,然后将所切成的两个子数组再次切分,直到所切分的子数组只有1个元素为止;在此基础上,先创建一个临时数组,再将最后只有1个元素的子数组进行排序,排完序之后将所切成的两个子数组进行合并到临时数组中,,最后将临时数组中的值再重新赋值到原始数组对应的位置中;之后,再返回最终切分操作之前的切分操作,并做相同的操作,对...

2019-01-14 10:10:45 161

转载 Python 匿名函数

lambda是Python编程语言中使用频率较高的一个关键字。那么,什么是lambda?它有哪些用法?这里,我们通过阅读各方资料,总结了关于Python中的lambda的“一个语法,三个特性,四个用法,一个争论”。一个语法在Python中,lambda的语法是唯一的。其形式如下:lambda argument_list: expression其中,lambda是Python预留的关键字,...

2019-01-12 17:04:43 132

转载 python 中 open与with open 的区别

转载自:https://www.cnblogs.com/ymjyqsx/p/6554817.htmlpython文件读写,以后就用with open语句读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对...

2019-01-12 14:42:56 7150 3

转载 Python 十大排序---选择排序

转载自: https://blog.csdn.net/zhaobig/article/details/78607714作者:纳尔逊皮卡丘来源:CSDN原文:https://blog.csdn.net/zhaobig/article/details/78607714版权声明:本文为博主原创文章,转载请附上博文链接!选择排序(Selection sort)选择排序:一种简单直观的排序算法。...

2019-01-12 14:08:21 577

原创 Python 十大排序之冒泡排序

一、冒泡排序原理:重复比较相邻元素,如果逆序则交换,大的沉底,小的上浮;eg:arr=[6,3,5,2,1]第一趟:[3,5,2,1,6] #已归位:6第二趟:[3,2,1,5,6] #已归位:5,6第三趟:[2,1,3,5,6] #已归位:3,5,6第四趟:[1,2,3,5,6] #已归位:2,3,5,6#每一趟排序只归位一个数字,需排n-1趟;每趟归位的数字不参与比较,每趟...

2019-01-12 09:37:05 276

原创 区别 sort 和 sorted

一、sort():一般作用于列表,且直接修改原有列表,不需要复制原有列表,因此消耗内存较小,效率也较高eg:arr=[4,2,0]arr.sort()print(arr) #[0,2,4]二、sorted():内置函数,返回一个排序后的新列表,原列表不变,一般需要保存原列表时用sorted。eg:arr=[4,2,0]new_arr=arr.sort()print(new_...

2019-01-11 21:05:30 135

原创 数据分析之线性回归分析

一、回归算法:(1)机器学习监督学习算法分为分类算法和回归算法;回归算法运用于连续型分布预测,针对的是数值型的样本(2)回归分析中包括因变量和自变量(3)回归分析分为一元线性回归分析和多元线性回归分析二、一元线性回归:(1)、线性回归,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法一元线性回归通用公式为:(2)实例:导入模块:from...

2019-01-11 20:56:55 2395 1

原创 is 与 == 的区别:

四、is 与 == 的区别:is : 是不是(同一对象)== :等不等 (值等不等)eg1: eg2:a=100 a=222223333333333b=100...

2019-01-10 20:19:30 378

原创 深拷贝与浅拷贝

三、深拷贝与浅拷贝(copy deepcopy)eg:a=[1,2,[3,4]]b=a.copy()a[2][0]=300print(a,b) # [1,2,[300,4]] [1,2,[300,4]]容器类数据存储在堆中(把中间的[3,4]列表存在一个新的位置),浅拷贝时不完全拷贝([1,2,存放[3,4]的地址]),也就是说a,b引用的内容是同一位置,因此修改会影响值的变化...

2019-01-10 20:19:04 124

原创 赋值号与copy的区别

在分析赋值号与copy 之前先区别一下堆和栈的概念一、堆和栈:堆:与栈相比,容量大,存储速度慢,所以引用类型的数据皆存储此处(容器类型,类和对象)栈:容量小,存储速度快,存储简单数据类型(整型、浮点型、布尔型)二、赋值号与copy的区别:1.赋值号:赋值号就是将一个值给等号左边的变量或者对象。eg:a=10b=aa=12print(a,b) #12,10"=’'是把值赋给变量...

2019-01-10 20:18:29 974 1

原创 安装虚拟环境、django、创建项目

一、安装虚拟环境和Django一、安装虚拟环境Win+R小黑窗键入cmd命令后执行以下命令:命令1:pip install virtualenv二、虚拟环境目录为了方便管理在合适的位置创建目录存放所有虚拟环境,进入目录执行Virtualenv py3Django三、启动虚拟环境a) 进入新blog/Scripts目录执行activate四、安装Django(1.11.3)p...

2019-01-08 19:21:10 337

转载 teleport ultra 扒网页小工具

名称:teleport ultra下载官网http://www.tenmax.com/teleport/pro/download.htm1、打开软件2、点击File,然后点击 New Project Wizred…,弹出如下界面,选择第一项,点击下一步3、然后在输入框输入你要扒的网站的地址,点击下一步4、选择everything,点击下一步,然后点击完成5、选择本地保存网站源文件的路径...

2019-01-05 09:12:54 1112

空空如也

空空如也

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

TA关注的人

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