python
L是晴子的球迷
这个作者很懒,什么都没留下…
展开
-
Python垃圾回收机制
话不多说,都是因为要找工作呀Python垃圾回收分为三部分:引用技术,标记清除,分代回收一.引用计数Python垃圾回收主要以引用计数为主,标记清除分代回收为辅。引用计数发的原理每个对象维护一个ob_ref,用来记录当前对象被引用的次数,也就是来追踪到底有多少个引用指向了这个对象。源码分析Python里面每一个东西都是对象,核心是一个结构体Py_Object,所有的Python对象的头部都包含了这样一个结构PyObject// object.hstruct _object { P原创 2020-09-23 10:53:18 · 150 阅读 · 0 评论 -
基于Flask的任务管理系统(知识点)
Flask开发项目结构:2.程序经常需要多个配置,一般分为开发,测试和生产环境,他们使用不同的数据库,不会彼此影响。3.程序工厂函数(1)为什么需要程序工厂函数?在单个文件中开发程序很方便,但却有个很大的缺点,因为程序在全局作用域中创建,所以无法动态修改配置。运行脚本时,程序实例已经创建,再修改配置为时已晚。这一点对单元测试尤其重要,因为有时为了提 高测试覆盖度,必须在不同的配置环境中运行程序。这个问题的解决方法是延迟创建程序实例,把创建过程移到可显式调用的工厂函数中。这种方法不仅可以 给脚本原创 2020-06-25 20:39:02 · 1500 阅读 · 1 评论 -
Django实现个人博客系统开发(知识点篇)
1.创建新的虚拟环境2.在setting设置里面更改语言和时区3.生成脚本生成后台超级管理员用户python manage.py createsuperuser4.在setting中声明应用5.创建数据库表1)Django会自动创建id作为主键2)设置更新时间#auto_now对象第一次创建时设置时间 auto_now_add 每次对象更新时更新时间cre...原创 2020-05-05 00:36:02 · 797 阅读 · 0 评论 -
基于requests和(正则/Xpath)的猫眼电影数据定向爬虫
一.需求分析应用requests库和正则表达式抓取猫眼电影TOP100的电影名称,时间,评分,图片等信息。项目分析:1.明确采集网址猫眼电影榜单TOP1002.爬取,requests数据采集库,正则表达式数据解析库3.存,json格式存储到文件二.分步骤爬取1.导入需要的包import requestsfrom colorama import Forefrom fake_us...原创 2020-04-12 21:22:12 · 1072 阅读 · 0 评论 -
Python爬虫基础整理
一.爬虫分类根据使用场景,网络爬虫可以分为通用爬虫和聚焦爬虫。1.通用爬虫通用爬虫是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网 页下载到本地,形成一个互联网内容的镜像备份。通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着 整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直...原创 2020-04-11 17:44:32 · 262 阅读 · 0 评论 -
Leetcode68-2:二叉树的最近公共祖先
1.递归方法:2.非递归方法:原创 2020-04-10 20:10:32 · 118 阅读 · 0 评论 -
Leetcode面试68-1:二叉搜索树的公共祖先
1.非递归法原创 2020-04-10 20:00:14 · 113 阅读 · 0 评论 -
Python数据分析(三)数据分析工具Pandas
目录:Pandas的数据结构Pandas的数据操作Pandas统计计算和描述数据的分组与聚合数据清清洗、合并、转化和重构聚类模型:K-Means实战案例:全球食品数据分析一.Pandas数据结构Series1.Series:类似一维数组对象2.通过list构建Seriesser_obj = pd.Series(range(10))3.由数据和索引组成索引在左,数据在...原创 2020-03-14 11:30:28 · 348 阅读 · 0 评论 -
Python数据分析(二)数据采集与操作
目录:常用格式的本地数据读写Python的数据库基本操作数据库多表连接爬虫简介BeautifulSoup解析网页爬虫框架Scrapy实战案例:获取国内城市空气质量指数数据一.常用格式的本地数据读写 常用的数据分析文件格式:txt,csv,json,xml(Excel),xls,HDF1.txt文件读写 由字符串行组成,每行由EOL(End Of Line)字符隔开,'\n...原创 2020-03-06 10:48:31 · 736 阅读 · 0 评论 -
python第七周小测(更新:队列封装(改错))
1.学生信息管理学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,Email,设计学生信息管理系统,提供以下功能:系统以菜单方式工作学生信息录入功能(学生信息用文件保存)学生信息浏览功能按学号与姓名查询按学号与姓名排序(此功能未添加)学生信息的删除学生信息的修改(此功能未添加)class StudentManage(object): def __init__(s...原创 2019-06-27 11:14:40 · 218 阅读 · 0 评论 -
数据结构之单向循环链表
单向循环列表,即链表中最后一个节点的next不再指向None,而是指向链表的头节点。单向循环列表的操作以及代码实现:操作is_empty() 判断链表是否为空length() 返回链表的长度travel() 遍历add(item) 在头部添加一个节点append(item) 在尾部添加一个节点insert(pos, item) 在指定位置pos添加节点remove(item) 删...原创 2019-07-08 19:33:31 · 229 阅读 · 0 评论 -
数据结构之树与二叉树
一.树与树算法二. 二叉树的遍历遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历。遍历的模式分为深度优先和广度优先,如图所示:我们以下图简单的二叉树为例,理解深度遍历优先与广度遍历优先:1.广度优先遍历广度优先遍历即层级遍历,逐层依次遍历,以上图为例,遍历顺序为 1—>2—>3—>4—>5—&...原创 2019-07-15 08:43:25 · 157 阅读 · 0 评论 -
数据结构之排序算法
一.排序算法介绍1.什么是排序排序就是对一序列对象根据某个关键字进行排序。假设含有n个记录的序列为{r1,r2,……,rn},其相应的关键字分别为{k1,k2,……,kn},需确定 1,2,……,n的一种排列p1,p2,……,pn,使其相应的关键字满足kp1≤kp2≤……≤kpn(非递减或非递增)关系,即使得序列成为一个按关键字有序的序列{rp1,rp2,……,rpn},这样的操作就称为排序。...原创 2019-07-18 09:21:52 · 201 阅读 · 0 评论 -
python网络编程
一.TCP/IP协议TCP/IP协议(传输控制协议/互联网协议)是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名的就是TCP和IP。因此,大部分网络管理员称整个协议族为“TCP/IP”。二.TCP与UDP1.UDP用户数据报协议UDP ⽤户数据报协议,是⼀个⽆连接的简单的⾯向数据报的运输层协议。UDP不提供可靠性,它只是把应⽤程序传给...原创 2019-07-24 10:41:25 · 198 阅读 · 0 评论 -
python多任务编程
一.多任务编程1.什么是多任务编程多任务编程简单来说就是操作系统可以同时运行多个任务。2.单核cpu如何实现多任务编程操作系统轮流让各个任务交替执⾏,每个任务执⾏0.01秒,这样反复执⾏下去。 表⾯上看,每个任务交替执⾏,但CPU的执⾏速度实在是太快了,感觉就像所有任务都在同时执⾏⼀样。3.多核cpu如何实现多任务编程真正的并⾏执⾏多任务只能在多核CPU上实现,但是,由于任务数量远...原创 2019-07-22 11:46:19 · 323 阅读 · 0 评论 -
关系型数据库MySQL
一.数据库简介1.数据库类型当前使用的数据库,主要分为两类:文档型,如sqlite,就是一个文件,通过对文件的复制完成数据库的复制服务型,如mysql、postgre,数据存储在一个物理文件中,但是需要使用终端以tcp/ip协议连接,进行数 据库的读写操作2.基本概念E-R模型当前物理的数据库都是按照E-R模型进行设计的,E表示entry,实体R表示relationship,关系...原创 2019-07-22 14:40:20 · 295 阅读 · 0 评论 -
pyhton数据库编程
一.对象关系映射SQLAlchemy1.什么是ORMORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。2.sqlalchemy简介SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL...原创 2019-07-22 17:15:00 · 187 阅读 · 0 评论 -
pyhton多线程练习
一. IP 地址归属地批量查询任务使用创建子类的方式实现多线程任务from threading import Thread,Lockimport requestsimport jsonclass GetHost(Thread): def __init__(self, ip): super(GetHost, self).__init__() self...原创 2019-07-22 17:41:08 · 119 阅读 · 0 评论 -
拉勾网职位需求采集项目
1.需求分析通过观察可以发现,拉勾网的职位页面详情是由 http://www.lagou.com/jobs/ PositionId.html 组成。而 PositionId 可以通过分析 Json 的 XHR 获得。而红框里的职位描述内容是我们要抓取的数据。知道了数据的源头,接下来就按照常规步骤包装 Headers ,提交 FormData 来获取反馈数据。...原创 2019-08-15 14:39:05 · 202 阅读 · 0 评论 -
IP代理池搭建
项目背景在爬取一些大网站的时候,总会出现被反爬技术阻碍的情况,限制IP就是其中一种,那么使用代理就是很好的解决方案.爬虫经常会用到代理IP, 高效使用这些IP是一个比较麻烦的事情。代理池是爬虫、采集、爆破、刷单等必不可少的配备。项目需求需要监控ip是否过期,如果已经过期就从池中删除监控访问目标网址的成功率,将成功率低的自动剔除让ip池长期保持设定的ip数量,以便随时取用项目...原创 2019-08-15 16:11:49 · 187 阅读 · 0 评论 -
python爬虫案例--图片下载器
案例:图片下载爬虫步骤:1.需求分析(本案例中爬去特定关键字的表情包,实现两个功能,搜索图片和自动下载)2.分析网页源代码,配合F123.编写正则表达式或者其他解析器代码4.正式编写python爬虫代码代码实现:"""Created on Mon Aug 12 22:06:51 2019@author: Omega_Sendoh""""""Date: 2019--07 ...原创 2019-08-12 22:59:32 · 221 阅读 · 0 评论 -
python小节练习
1.求两个数的最大公约数和最小公倍数方法1:欧几里得法#encoding:utf-8num1=int(input('enter first number:'))num2=int(input('enter second number:'))if num1<num2: #默认num1为两数中较大的数,若num2为较大的数,则与num1值交换 a=num1 ...原创 2019-05-16 17:16:25 · 206 阅读 · 0 评论 -
python面向对象的一些常用魔术方法
一.常见魔术方法name类,函数,方法等的名字module类定义所在的模块class对象或类所属的类bases当前类的基类(父类)doc类,函数的文档帮助,没有定义为NonemroMethod Resolution Order 方法解析顺序dict类或实例的属性,可写的字典举例:class A(object): pas...原创 2019-06-24 16:35:03 · 193 阅读 · 0 评论 -
python面向对象之元类
一、Python 中类也是对象在了解元类之前,我们先进一步理解 Python 中的类,在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在 Python 中这一点也是一样的。class ObjectCreator(object): passmObject = ObjectCreator()print(mObject)输出结果:<__main__.Obj...转载 2019-06-25 09:49:51 · 105 阅读 · 0 评论 -
python面向对象编程
***********面向对象 *************面向对象是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。特性:抽象 封装 继承 多态优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合 的系统,使系统更加灵活、更加易于...原创 2019-06-10 16:20:00 · 206 阅读 · 0 评论 -
pyhton第四周小测
1.记录日志装饰器创建一个装饰器, 功能实现函数运行时自动产生日志记录。 日志格式如下:程序运行时间 主机短名 程序名称: 函数[%s]运行结果为[%s]产生的日志文件并不直接显示在屏幕上, 而是保存在 file.log 文件中import timeimport osimport sysdef add_log(fun): def warpper(*args,**kwargs...原创 2019-06-06 09:45:31 · 386 阅读 · 0 评论 -
python函数小测
1.编程实现9*9乘法表原创 2019-05-23 16:16:30 · 231 阅读 · 0 评论 -
python第三周小测
1.读取一个文件,显示除了井号(#)开头的行意外的所有行# -*- coding: utf-8 -*-"""Created on Tue May 28 09:37:08 2019@author: Omega_Sendoh"""#打开文件f = open("install-sh","r")#读取文件的所有行,以列表形式存储,每行为列表中的一个字符串元素res = f.readli...原创 2019-05-30 15:50:54 · 964 阅读 · 0 评论 -
Python高级特性(生成式与生成器)
1.列表生成式列表生成式就是一个用来生成列表的特定语法形式的表达式。是python提供的一种生成列表的简洁形式,可快速生成一个新的列表1).普通语法格式:[exp for iter_var in iterable]例如:生成一个2n+1的数字列表,n为从3到11的数字list=[2*i+1 for i in range(3,12)]2).带过滤功能语法格式:[exp for i...原创 2019-05-28 09:28:14 · 497 阅读 · 0 评论 -
python之文件操作(包含json与pickle模块)
1.文件的打开在python中,使用open函数,可以打开一个已经存在的文件,或者创建一个新的文件。原创 2019-05-25 20:50:22 · 166 阅读 · 0 评论 -
python之函数(更新:匿名函数与递归函数)
如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数.1.函数的创建#语法def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果.没有返回值,默认返回None定义函数要注意以下...原创 2019-05-21 11:01:02 · 138 阅读 · 0 评论 -
python集合与字典
#####集合#####集合(set)是一个无序的不重复元素序列,由于集合是无序的,所以不能索引不能切片。1.集合的创建使用大括号{}或者set()函数创建集合,如果创建一个空集集合,则必须用set()2.集合的特性(增加,删除,查询)add()为集合添加元素update()添加元素(可一次添加多个)clear()清空集合元素discard(...原创 2019-05-21 09:11:58 · 183 阅读 · 0 评论 -
python三大流程控制和I/O操作
1.Python的流程控制可以分为三类:顺序结构,分支结构,循环结构####顺序结构####顺序结构就是代码的执行顺序,P执行流程都是从上到下的执行顺序。如果中介执行的时候阻塞了,就不会继续往下执行,一直到阻塞结束会继续往下执行。####分支结构####经常用到的分支结构就是if语句。if语句是一个简单的逻辑执行顺序,通过一个判断条件来选择代码的执行位置。下面我们来看if语句的四种执行形...原创 2019-05-15 17:33:35 · 293 阅读 · 0 评论 -
python元组(戴了紧箍咒的列表)
什么是元组?在python中,我们用tuple=()来表示元组,元组与列表直观的区别就是不能对元组的值任意更改,所以元组也称为‘戴了紧箍咒的列表’。元组的创建1.定义一个空元组tuple = ()2.定义单个值的元组tuple = (sendh,)注:在定义单个值的元组时,元素后面必须跟逗号3.一般的元组tuple=(send,leo,5)元组的特性元组拥有列表拥有的大部分特...原创 2019-05-20 19:44:56 · 114 阅读 · 0 评论 -
常见python面试题目整理(持续更新)
1.列举 Python2和Python3的区别?1).输入输出不同输出:python2——print ‘对象’python3(加括号)——print(‘对象’)输入:python2——输入整形:input();输入字符串类型:raw_input()python3——只有一种方法输入字符串:input()2).除法运算的区别python2——运算符’/’:当被除数与除数都为整形时,...原创 2019-06-13 09:01:13 · 301 阅读 · 0 评论 -
python第五周小测
一.队列数据结构的封装队列类。队列(queue)是具有先进先出(FIFO)特性的数据结构。一个队 列就像是一行队伍,数据从前端被移除,从后端被加入。这个类必须支持 下面几种方法:并实现下面的功能:...原创 2019-06-13 09:02:06 · 597 阅读 · 0 评论 -
pyhton模块与包
***********模块 ***********1.什么是模块模块就是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块。模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模块。2.模块的导入模块导入的集中方式:1).import module1,module2当解释器遇到import语句,如果模块在当前的搜索路径就会被导入2)...原创 2019-06-04 09:52:04 · 265 阅读 · 0 评论 -
python第六周小测
1. 按奇偶排序数组(leetcode)给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。方法一:sorted()方法class Solution: def ...原创 2019-06-19 19:44:13 · 422 阅读 · 0 评论 -
python高级特性(装饰器)
1.什么是装饰器装饰器本质上是一个函数,该函数用来处理其他函数,它可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等应用场景。首先我们先了解以下通用装饰器的框架,帮助我们更好地理解装饰器的用法def log(func): ##接收一个函数作为参数,传入的实参就...原创 2019-06-03 20:40:51 · 135 阅读 · 0 评论 -
python高级特性(内置高阶函数)
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。1.map函数map() 会根据提供的函数对指定序列做映射。第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。实例:##实例一:def multi(x): return x*5result=map(multi,[1,2,3,4,5])print(...原创 2019-06-03 16:15:54 · 220 阅读 · 0 评论