- 博客(29)
- 收藏
- 关注
原创 多线程爬虫
1.什么是线程?线程(Thread)是操作系统能够进行运算调度的最小单位,它被包含在进程中,是进程中的实际运作单位。进程像一座房子,他是一个容器,有相应的属性,比如占地面积、卧室、厨房和卫生间等。房子本身没有主动做任何事情,线程这座房子的居住者,可以使用房子每一个房间、做饭、洗澡等目的:提高效率 同一时间完成多项任务 技术上同步指前一个完成后 后面才会执行事情一件一件处理函数形式:1.单线程demo只能吃完龙虾后再喝啤酒;2.多线程demo实现通吃吃龙虾喝啤酒;import thread
2020-07-17 09:44:10 277
原创 Django生成登录图形验证码
1.图形验证码使用Django生成登录图形验证码,并且存入缓存中;前端点击图片触发验证码生成,前端验证码输入,通过ajax与后端数据交互;后端接收前端传递验证码,到缓存查找如果找到以及验证码一致通过验证验证码生成逻辑- 生成随机字符串- 不同字体- 生成干扰线,防止机器采集识别绕过验证码- 画布、画笔- 生成返回字符串图片1.1 配置Django缓存settings配置文件,设置Redis作为图片验证码缓存# 配置Django缓存RedisCACHES = { "
2020-06-17 16:30:39 998
原创 Django框架_ORM作业
1.ORM作业假设有以下ORM模型from django.db import models# Create your models here.class Student(models.Model): """学生表""" name = models.CharField(max_length=100) gender = models.SmallIntegerField() class Meta: db_table = 'student'cla
2020-05-26 12:04:44 336
原创 Flask web框架
1.Web框架简介良好编程的核心原则之一 ------ DRY(不要重复自己)开发人员通常需要处理四项任务——数据的创建、读取、更新和删除,可称为CRUD,通过Web框架很好的解决这类问题1.1 什么是Web框架Web框架是用来简化Web开发的软件框架,框架的存在时为了避免重新发明轮子,并在创建一个新的网站时帮助你减轻一些开销。典型框架提供如下常用功能:1.管理路由2.访问数...
2020-05-12 09:20:38 835
原创 Redis
1.Redis概述Redis是什么安装RedisRedis数据类型(重点)Redis哪些应用Python操作Redis(重点)Redis主从1.1 Redis是什么NoSQL数据库 非关系型数据库保存在内存中,速度超快key Value八种数据类型 常用的有物种数据类型单个Key最大支持到512MRedis有0~15号库,也就是说16个库,默认0号库端口号:6...
2020-03-25 12:29:48 261
原创 Python数据库
1.数据库基本概念程序运行,数据是存在内存中,当程序终止,通常需要将数据保存到磁盘中。数据库是存放数据仓库,它储存空间很大,可以存放百万条、千万条、上亿条数据,数据库存放数据有一定规则2.数据库编程接口Python Database API 2.0规范,定义Python数据库API接口各个部分,如模块接口、连接对象、游标对象、类型对象和构造器、DB API可扩展一级可选得错误处理等机...
2020-03-17 17:22:45 1837
原创 Python正则表达式
1.正则表达式基础处理字符串时,经常会有查找符合某些复杂规则字符串要求,正则表达式就是描述这些规则的工具1.1 行定位符描述字符串边界,"^“表示开始;”$"表示结尾^tm :匹配tm字母开头,例如tm equal可以匹配,而equal tm 不能匹配tm$ :匹配tm字母结束,例如equal tm可以匹配,而tm equal 不能匹配tm :不加行定位符,tm equal与...
2020-03-14 17:33:50 364
原创 Python文件与IO
1.文件与IO变量、序列和对象中储存数据是暂时的,程序结束后就会丢失,为长时间保存程序中的数据,需要将程序中的数据保存到磁盘文件中。Python提供内置文件对象和文件、目录进行操作的内置模块,通过这些技术可以很方便将数据保存到文件中,达到长时间保存数据的目的。2.文件基本操作Python中内置文件(File)对象,通过内置open()方法创建打开文件对象,然后通过该对象提供的方法进行...
2020-03-12 20:22:11 514
原创 Python异常处理
1.异常处理Bug:意思是’臭虫’或’虫子’,现在系统或程序中的缺陷或者错误代码有语法问题,无法解释运行,必须改正后才能运行称为”错误“代码没有语法问题,可以运行,但会出运行时的错误,例如除零错误,下标越界等问题,在运行期间检测到的错误被称为"异常"出现异常必须处理否则程序会终止执行,用户体验很差,Python支持程序员自己处理就按测到的异常。2.try-except语句Pyth...
2020-03-08 19:33:35 271
原创 Python多态
1.多态其他语言中所谓的多态,至的是一个方法多种实现,在继承前提下,父类规定了子类的接口,使得可以相同的方式调用子类的方法,但会获得不同的功能Python崇尚的是"鸭子类型(Duck typing)",这个词概念名字来源于由James Whitcomb Riley提出的鸭子测试,"鸭子测试"可以这样表述:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来像鸭子、那么这只鸟可以被称为鸭子”。’...
2020-03-07 19:14:04 278
原创 Python类成员
1.类成员类成员包括:类属性和类方法属于类,可以不实例化对象,直接通过类名调用,这些类成员为所有对象共有,一般用于对象间通信。class Person: # 类属性必须在方法外面定义 name = '姚圈圈' gender = '男' __age = 23 # 私有属性 def __init__(self,name,age):...
2020-03-04 16:31:50 3866
原创 Python面向对象程序特点
1.面向对象程序设计特点面向对象程序设计具有三大特点:封装、继承和多态2.封装封装是面向对象编程得核心思想,将对象属性和行为封装起来,其载体就是类,类会对客户隐藏其实现细节,这就是封装得思想。封装思想保障类内部数据结构得完整性,使用该类得用户不能直接看到类中得数据结构,只能执行类允许公开得数据,避免外部对内部数据影响,可高程序可维护性类本身就是一种封装,类可以将数据(属性)和行为(...
2020-03-02 15:54:07 532
原创 Python类和对象
1.面向对象思想面向对象中的对象(Object),通常指客观世界存在对象,对象具有唯一性,对象之间各不相同,各有特点,每个对象有自己的运动规律和内部状态。对象对象之间相互联系,相互作用,对象也可以是一个抽象事物,时间万物皆对象,对象划分两部门,静态部分和动态部分。静态部分称为"属性",任何对象具有自身属性,属性是客观存在,不能被忽视,动态部分值对象的行为,对象执行的动作2.类和对象类...
2020-03-01 15:22:49 369
原创 Python日期时间模块
1.日期时间模块datetime:日期time:时间calendar:日历时间间隔是以秒为单位每个时间戳都以自从1970.1.1经历了多长时间计算的时间戳:当前时间距离1970.1.1的秒数2.time时间模块UTC:格林威治天文时间,世界标准时间,中国UTC+8DST:夏令时import time# 获取当前时间的时间戳T = time.time()prin...
2020-02-24 16:35:28 945
原创 Python包和模块
1.生成器如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Cenerator)。延迟计算、惰性求值节省内存,高效缺点:无法随机存取生成器(Generator)生成器会产生一个对象,而不是一个列表1.1 yield表达式yield语句...
2020-02-21 16:33:25 444
原创 Python函数3
1.装饰器软件开发有一条重要的规则:对修改封闭,对扩展开放。对于一个现有函数,如向增强此函数功能,不允许修改函数源代码时候,使用装饰器解决这个问题。本质:就是一个闭包,还是一个返回函数的高阶函数好处:就是在不用修改原函数代码的前提下给函数增加新的功能1.1 装饰器初步# 要增强功能的函数def demo1(name): print(f"{name},加油") # 装饰器...
2020-02-19 16:53:06 185
原创 Python函数2
1.闭包函数中定义一个函数,函数内部定义函数称为内部函数,内部函数只能在函数内使用,不会污染外部空间,定义内部函数得函数称外部函数.外部函数定义内部函数,内部函数引用外部函数变狼,且外部函数返回值内函数引用,这样内部函数和执行所徐环境比变量构成一个闭包函数结束,函数内东西释放掉,局部变量会消失,闭包是一种个数情况,函数结束时发现自己局部变量会在函数中用到,把局部变量绑定给了内部函数,然后自...
2020-02-17 18:55:53 227
原创 Python函数1
1. 函数优点:代码可复用,代码可维护性高,容易排错,可读性好,利于团队开发1.1 定义函数# 语法'''def 函数名 ([参数1],[参数2],...[参数n]): '''注释 ''' 函数体 函数名:名命名规则同变量名,满足标识符命名规则,不能与系统函数重名,风格见名知其意参数n :用于向函数中传递,如果有多个参数用','分隔,如不指定表示该函数没有参...
2020-02-07 16:45:04 376
原创 Centos7自带Python 2.7.5无法使用pip命令
1.解决办法yum源已经配好安装号Centos7系统后,自动会自带Pyhon 2.7.5,默认没有pip命令,解决办法参考如下。1. 1 查看Python版本,默认版本Python 2.7.5[root@localhost local]# python Python 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 2015062...
2020-01-21 11:23:13 3083
原创 Python字典和集合
1.字典字典是无序的可变序列,元素存放无序,通过哈希方式进行数据存取,而不是通过索引字典中保存一个个的键值对:key:value,可以通过key来获取对应的值,很类似我们的汉语字典字典中的键必须是唯一的,且字典中的键必须是不可变字典是可变的,且可以任意嵌套字典是无序的,各项从左到右随机排序,保存在字典中的项没有特定的顺序,查找效率高1.1 字典的创建语法:dictionary ...
2020-01-20 21:14:18 556
原创 Python字符串
1.字符串创建字符串就是由若干个不同的unicode字符组成的不可变序列# 单引号字符串str1 = '对酒当歌,人生几何。'str2 = str([10,20,30])# 空字符串str3 = str()# 双引号字符串str4 = "记忆是一种相遇,遗忘是一种自由"# 三引号字符串,多行字符串str5 = '''好雨知时节当春乃发生'''str6 = """...
2020-01-18 12:19:10 1625
原创 Python列表和元组2
1.元组元组(tuple)与列表类似,也是按特定序列排列的元素组成,但它是不可变序列。元组中所有元素放在"()“中,两个相邻元素使用逗号”,"分隔元组是不可变序列,列表是可变序列,元组中的元素不可单独修改,列表可以任意修改1.1 元组的创建和删除使用赋值运算符"=",创建元组# 创建空元组Type = ()print(type(Type)) # 输出<class '...
2020-01-16 10:27:22 347
原创 Python列表和元组1
1.序列序列存放多个值连续内存空间,按照一定顺序排列,每一个值(元素)分配一个数字,称为索引或者位置,通过该索引获取相对应的值。在Python中,序列结构主要有列表,元组,集合,字典,和字符串构成序列中所有的操作基础通用操作,同样也适合列表,元组等1.1 索引序列中每个元素有个编号,称为索引,索引从0开始递增的若采用0为索引则从左向右计数0,1,2…,若采用-1为索引则从右向左计...
2020-01-14 13:55:53 469
原创 Python循环结构语句
1.循环广义:一个周期现象或者重复出现的情况,这种状态称为循环狭义:在满足条件的情况下,反复执行某一段代码,在编辑于言中出现的这种循环。被反复执行的这段代码称为循环体Python中提供的循环语句:while语句,for-in语句2.while循环循环体是指一组被重复执行的语句条件表达式返回值为True,执行循环体中语句;执行完毕后,从新判断表达式的值,直到表达式的结果为False...
2020-01-13 12:44:11 1329
原创 Python流程控制
1.逻辑运算符逻辑运算符对真和假两种布尔值进行运算,运算的结果仍是一个布尔值逻辑运算符主要包括and(逻辑与),or(逻辑或),not(逻辑非)在逻辑运算中,False,None,0,0.0,空字符串被看作假(False),其他的看作真(True)优先级not > and >or运算符含义用法结合方向and逻辑与a and b从左到右o...
2020-01-11 19:38:13 697 1
原创 Python数据类型与运算2
1.转义字符Python中的字符支持转义字符,用反斜杠对特殊字符转义转义字符说明\续行符\n换行符\0空\t水平制表符,用于横向跳到下一制表位\f换页\一个反斜杠2.判断语句if 表达式:语句type() 返回变量和常量的类型isinstance(变量或常量,类型)# 如果10是整型则输出“是整数”if t...
2020-01-09 13:05:44 1127 1
原创 Python数据类型与运算1
1.基本输入和输出数据的输入和输出操作,是计算机最基本的操作。1.1 使用input()函数输入语法:variable = input(" 内容 ")input(" ")引号中输入值会赋给变量variable,在Python 3.x中,无论输入时整形数值,还是字符串,或者浮点类型都会以字符串形式读取,如想的到其他类型数值需要进行类型转换。#输入您的年龄,值会赋给age。#typ...
2020-01-07 11:19:00 935
原创 Python编程基础
1.Python诞生Python(猛蛇)是著名的“龟叔”Guido van Rossum在1989年圣诞节,为了打发无聊的圣诞节边界一个编辑语言。之所以选(猛蛇)作为程序名字,因为他是BBC电视剧–蒙提*派森的飞行马戏团(Monty Python"s Flying Circus)爱好者。1991年2月:第一个Python编辑器(同时也是解释器)诞生,它使用C语言实现的,并能够调用C语言的库文...
2020-01-06 15:47:24 1459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人