自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决:Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。

启动django应用时报如下错误:Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。1.网上查了一下,是8000端口被其他程序占用了,杀掉占用的程序就可以(1)查找哪个进程占用了8000端口netstat -ano|findstr 8000(2)找出对应pid的进程详细信息tasklist |findstr 15348(3)杀掉该进程taskkill /pid 15348 /F2.或者也可以选择换个端口运行python

2021-07-05 13:33:22 5160

原创 Python 多线程

目录Python 多线程开始学习Python线程线程模块使用Threading模块创建线程线程同步线程优先级队列( Queue)Python 多线程多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度程序的运行速度可能加快在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的

2021-06-23 08:49:15 195

原创 Python JSON

Python JSONJSON 函数语法实例json.loads语法实例JSON 函数encode语法实例decode语法实例JSON 函数使用 JSON 函数需要导入 json 库:import json。函数描述json.dumps将 Python 对象编码成 JSON 字符串json.loads将已编码的 JSON 字符串解码为 Python 对象json.dumpsjson.dumps 用于将 Python 对象编码成 JSON 字符串。语法json.

2021-06-23 08:35:58 198

原创 Python爬虫之bs4

Python爬虫之bs4一、聚焦爬虫:爬取页面中指定的页面内容二、数据解析分类:三、数据解析原理概述:四、bs4进行数据解析:1.数据解析的原理:2.bs4数据解析的原理:3.环境安装:4.如何实例化BeautifulSoup对象一、聚焦爬虫:爬取页面中指定的页面内容编码流程指定url发起请求获取响应数据数据解析持久化存储二、数据解析分类:1.正则2.bs43.xpath(***)三、数据解析原理概述:解析的局部的文本内容都会在标签之间或者标签对应的属性中进行存储1.

2021-06-17 09:10:09 700 2

原创 Python递归函数

Python--递归函数一. 描述二. 实例说明一. 描述1.编程语言中, 函数Func(Type a,…)直接或间接调用函数本身,则该函数称为递归函数.  2.在数学上,关于递归函数的定义如下: 对于某一函数f(x), 其定义域是集合A, 那么若对于A集合中的某一个值x0,  其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数.  3.递归的定义:一种计算过程, 如果其中每一步都要用到前一步或前几步的结果, 称为递归的.  用递归过程定义的函数, 称为递归函数, 例如连加,连

2021-06-16 19:16:18 112

原创 解决selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary

解决selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary问题selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary报错问题原因: 一般是因为chrome.exe或者是chromedriver.exe有问题解决方法: 添加chr

2021-06-09 19:11:53 1309 2

原创 Python爬虫之XPath解析库

目录一、简介二、安装三、节点1、选取节点2、选取未知节点3、节点关系四、XPath实例爬取糗事百科一、简介       XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。       Xpath解析库介

2021-06-07 18:44:19 326 5

原创 Python爬虫

Python爬虫一、爬虫概念二、爬虫的基本流程三、http协议 请求与响应四、正则表达式五、爬虫实例一、爬虫概念       爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。爬虫, 又称网页蜘蛛或网络机器人。爬虫是 模拟人操作客户端(浏览器, APP) ,向服务器发起网络请求,抓取数据的自动化程序或脚本。二、爬虫的基本流程发起请求,通过使用HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的

2021-06-02 14:14:03 144 1

原创 jquery radio的取值

radio 按钮组 name=“gender”<input type="radio" name="gender" value="Male">Male</input><input type="radio" name="gender" value="Female">Female</input><input type="radio" name="gender" value="Unknown">Unknown</input>1. 获取

2021-05-31 10:52:14 1648

原创 Python中装饰器的执行过程

1、先看一段简单的装饰器代码def set_fun(func): def inner(*args): print("123456789") func(*args) return inner@set_fundef sum(x,y): print(x*y)sum(1,2)# 运行结果12345678922、这里@set_fun 表示给sum函数装饰,具体代码是sum = set_fun(sum)类似def set_fun(func):

2021-05-27 18:38:29 549 1

原创 迭代器与生成器的区别

迭代器与生成器的区别一、生成器二、迭代器三、区别一、生成器1.生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。2.对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。3.而且记录了程序执行的上下文。4.生成器不仅“记住”了它的数据状态,生成器还记住了程序执行的位置。生成器是一种可以简单有效的创建迭代器的工具。它们像常规函数一样撰写,但是在需要返回数据时使用yield语句。每当对它调用next()函数(有关next函数下面会提及),生成器从它上次停止的地方重新开始(它

2021-05-25 15:44:13 660

原创 session和cookie

一、概念理解首先呢,要了解session和cookie的区别先要了解以下几个概念:1、无状态的HTTP协议:协议,是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。2、会话(Session)跟踪:会话,指用户登录网站

2021-05-20 18:22:36 61

原创 form表单隐藏域有什么作用

隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。代码格式:在form表单中写如下代码<input type="hidden" name="name" value="">form表单隐藏域有什么作用1、 隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。2、

2021-05-18 13:43:55 2326

原创 物理外键和逻辑外键

物理外键性能问题物理外键性能问题总结:​ 1.数据库需要维护外键的内部管理​ 2.外键等于把数据的一致性实物实现,全部交给数据库的服务器完成​ 3.有了外键,当做一些设计外键字段的增、删、更新操作之后,需要触发相关操作去检查,​ 不得不消耗资源​ 4.外键还会印象需要请求对其他表内部加锁而容易出现死锁的情况mysql的外键设计问题 虽然很多人都不推荐你在关系型数据库使用外键但你更多听到的是mysql的,而不是SQLserver或者其他。比较公认的是,他的外键设计的 的确不是很好,限制多功能

2021-05-13 18:15:33 3624

原创 ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。

在pip安装时遇到ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问。问题分析:看到Consider using the–useroption or check the permissions.判断应是访问权限问题解决方法:把pip install······改成pip install --user·····即可...

2021-05-10 10:22:05 14249 4

原创 django发送短信服务

使用互亿无线短信服务1、注册互亿无线账户(免费十条短信)2、点击验证码通知短信-->使用向导-->DEMO示例--->python3、写一个tools.py文件4、views1、注册互亿无线账户(免费十条短信)网址:https://www.ihuyi.com/2、点击验证码通知短信–>使用向导–>DEMO示例—>python3、写一个tools.py文件import requestsimport randomimport jsonfrom shop.s

2021-05-06 08:42:30 267

原创 vue安装及配置

vue安装及配置1、下载node.js官网:https://nodejs.org/zh-cn/download/下载以下版本即可,然后点击安装包进行安装2、下载完可检查在windows任务命令行里输入node -v3、使用淘宝NPM镜像源下载比较快 命令:npm install -g cnpm --registry=https://registry.npm.taobao.org4、安装vue-cli(全局安装vue-cli) 命令:cnpm install vue-cli -g

2021-05-06 07:55:35 79

原创 django模糊查询

contains: 进行大小写敏感的判断,某个字符串是否包含在指定的字段中,这个判断条件使用大小写敏感进行判断,因此在被翻译成“SQL”语句的时候,会使用“like binary”, 而“like binary”就是使用大小写敏感进行判断。icontains: 进行大小写不敏感的判断,某个字符串是否包含在指定的字段中,这个判断条件使用大小写不敏感进行判断,因此在被翻译成“SQL”语句的时候,会使用“like”, 而“like”就是使用大小写不敏感进行判断。其中icontains前面的i指的就是ignor.

2021-04-29 18:30:09 923

原创 django中给表格添加页码实例

django中给表格添加页码实例1.先写一个商品列表views界面2添加商品html界面3.商品列表html界面1.先写一个商品列表views界面#商品列表def goods_list(request): #搜索 if request.method == 'POST': #搜索条件 search = request.POST.get('search') goods_obj_list = models.Goods.objects.filte

2021-04-29 16:33:21 110

原创 python实现邮箱发送功能

QQ邮箱登录1.登录邮箱客户端2.进入设置-->账户-->POP3/IMAP/SMTPa/Exchange/CardDAV/CalDAV服务3.进入djngo项目settings配置文件内4.views5.urls6.html7.redis连接8.最终成果1.登录邮箱客户端2.进入设置–>账户–>POP3/IMAP/SMTPa/Exchange/CardDAV/CalDAV服务3.进入djngo项目settings配置文件内#设置邮件域名 发送邮件服务器:smtp.q

2021-04-22 19:12:34 261 1

原创 解决 redis中redis.exceptions.AuthenticationError: Authentication required问题

在redis运行中遇到了这样的错误报错提示:redis身份验证错误,需要身份验证原因:redis之前设置的密码需输入密码才有权限解决方法命令行进入Redis文件,进行身份验证redis-cliauth 765314 #765314是你之前设置的密码输入下面的命令获取密码 config get requirepass可以选择对密码进行修改config set requirepass 765314也可以取消密码config set requirepass ''取消密码后有权

2021-04-21 19:35:02 9171

原创 Django----学生管理系统(二)

学生管理系统——学生部分学生登录html学生详情html学生首页展示html学生登录html{% load static %}<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>学生登录</title> <link rel="stylesheet" href="{% static 'css/layui.css' %

2021-04-15 07:57:17 129

原创 Django----学生管理系统(一)

学生管理系统——老师部分models界面view界面首页html老师注册html老师登录html录入学生信息html学生详情html修改学生信息htmlmodels界面from django.db import models# Create your models here.#教师模块class Teacher_Model(models.Model): username = models.CharField(max_length=128,verbose_name='教师名',null=F

2021-04-13 19:30:17 402

原创 HTML标签大全(常用)

基本<html>···</html> 定义 HTML 文档<head>···</head> 文档的信息<meta> HTML 文档的元信息<title>···</title> 文档的标题<link> 文档与外部资源的关系<style>···</style>文档的样式信息<body>···</body> 可见的页面内容<!--···-->

2021-04-08 19:10:27 129

原创 Django迁移数据库

创建项目django-admin startproject xxx项目名创建子应用python manage.py startapp xxx子应用名称静态文件添加启动django项目python manage.py runserver python manage.oy runserver ip+端口设置用户模块from django.db import models# Create your models here.class User_Model(models.Mo

2021-04-07 10:00:37 90 1

原创 python文件操作

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

2021-04-03 12:14:00 80

原创 Python网络编程——Socket概念

Socket概念1、理解Socket      Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。2、socket()函数      Python 中,我们用 socket()函数来创建套接字,语法格式如下:socket.socket([family[, type[, proto]]])3、参数

2021-03-29 09:40:42 284

原创 Python property()装饰器

语法以下是 property() 方法的语法:class property([fget[, fset[, fdel[, doc]]]])1、@property 内置装饰器函数,把一个方法调用方式变成属性调用方式。(将一个方法当成一个属性使用)。注意@property装饰器只能在面向对象中使用。2、访问使用@property装饰器装饰的函数可以直接调用函数名(会执行一段功能(函数)然后返回值)3、@property 装饰器只能修饰不带参数的方法。#定义一个可控属性值 xclass C(obj

2021-03-25 18:24:45 162 1

原创 Python面对对象的继承和多态

一、继承1.在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。注意:python中的继承分为:单继承和多继承。2.父类:用于被继承的类,称之为父类,也叫做基类,或者超类。子类:继承其他类的类,称之为子类,也叫做派生类。3.继承的作用:就是提高代码的重用率。4.比如,我们已经编写了一个名为People的class,有一个run()方

2021-03-22 09:58:55 209

原创 python实例方法类方法静态方法

1.实例方法/对象方法实例方法或者叫对象方法,指的是我们在类中定义的普通方法。只有实例化对象之后才可以使用的方法,该方法的第一个形参接收的一定是对象本身!class People(): def hello(self): print('hello word')2.静态方法(1) 格式:在方法上面添加 @staticmethod(2) 参数:静态方法可以有参数也可以无参数(3) 应用场景:一般用于和类对象以及实例对象无关的代码。(4) 使用方式: 类名.类方法名(或者

2021-03-15 09:58:27 110

原创 Python面对对象编程2--私有属性和私有方法

一、封装特性1.什么是封装在日常中封装指的是将我们的物品包裹起来,不让看到其内部,具有保护的功能。在程序设计中,封装(Encapsulation)是将类中的某些部分(某些属性或者方法)隐藏起来,对象不能直接使用隐藏起来的属性或者方法,具有保护功能。总结:隐藏对象的属性和方法实现细节,仅对外提供公共访问方式。封装格式: __属性或者方法名称。(我们也叫做私有属性或者方法)封装的目的:保护隐私。class People(): #私有化封装,只需在属性或方法名前加__双下划线 __

2021-03-09 09:13:31 96 1

原创 Python面对对象编程1

一、面对对象编程面向对象编程(英语:Object-oriented programming,缩写:OOP)是一种编程理念,这种编程理念更符合我们人的逻辑思维。使用面向对象编程可以提高我们的开发速度和代码的重用率。面向对象的开发非常适合大型程序开发,开发速度和后期维护都比过程化开发要好很多。二、面向对象和面向过程面向过程和面向对象都是用来解决问题的,只是解决问题的思路不同。面向过程可以理解亲力亲为,面向对象可以理解为坐享其成。例如炒菜面向过程:1)菜市场买菜,2)讨价还价,3)洗菜,4)切菜,5

2021-03-08 12:44:39 70 1

原创 Python字典2

一、字典常见操作字典遍历时的判断in判断指定的键是否在字典当中for···in···通过for … in …:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。not in判断指定的键是否不在字典当中二、dect()函数dict内置函数可以创建一个空字典、或者通过列表+元组的形式或者元组+元组形式创建一个字典,或者通过关键字来创建一个字典。三、字典内置函数和方法Python字典包含了一下内置函数:函数描述cmp(dict1,d

2021-02-24 10:09:14 179

原创 Python字典1

一、Python字典字典是另一种可变容器模型,且可储存任意类型对象。字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:d={key1:value1,key2:value2}键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。dict={'a':1,'b':2,'b':3}print(dict)#{'a': 1, 'b': 3}注意:字典的key 不能是可修改数据类型,例如列表就不能当字典的key。

2021-02-24 10:08:57 178 1

原创 Python元组

一.元组Python的元组与列表相似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。格式:变量名=(元素1,元素2,···)练习1:创建元组并打印元组内容和类型tup=(1,2,3,4,5)print(tup) #(1, 2, 3, 4, 5)print(type(tup)) #<class 'tuple'>二.访问元组访问元组和访问列表一样,都可以使用索引和切片来获取元素。练习1:通过索引获

2021-02-23 14:38:33 737 1

原创 Python参数函数

一.参数在python中函数参数的定义方式有一下4中方式:位置参数关键字参数默认参数可变参数二.位置参数在我们在传参的时候,实参传递的顺序按照形参定义的顺序进行传递的传参方式。练习1:创建一个求和函数,使用必须参数传递def sum(a,b): print("a----"+str(a)) print("b----"+str(b)) return a + bprint(sum(20,30))运行结果:a----20b----3050三.关键字参数

2021-02-23 13:07:07 515

原创 Python函数定义及函数调用

一.函数的定义函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但也可以自己创建函数,这种被叫做用户自定义函数。二.定义一个函数1.你可以定义一个由自己想要功能的函数,以下是简单的规则:(1)函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。(2)任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。(3)函数的第一行语句可以选择性地使用文档字符串—用于

2021-02-20 22:06:18 1564

原创 Python推导式

1、推导式推导式comprehensions(又称解析式),是Python的一种独有特性,相当于语法糖的存在,在某些时候可以简化代码。推导式是可以从一个数据序列构建另一个新的数据序列。推导式包括:列表(list)推导式 ,字典(dict)推导式 ,集合(set)推导式。2. 列表推导式列表推导式(list comprehension)是利用其它列表创建新列表的一种方式,工作原理类似for循环,即可对得到的元素进行转换或者筛选。列表推导式的基本格式:变量名=[表达式 for 变量 in 列表

2021-02-18 17:34:00 64

原创 Python列表

1. 列表定义及格式定义:列表是一个可修改的,元素以逗号分割,以中括号包围的有序序列。格式:变量名=[元素1,元素2,元素3,…]练习1:定义一个列表并打印列表中的内容和类型。2. 列表序列操作由于列表是序列的一种,列表支持所有的我们对字符串所讨论过的序列操作。唯 的区别就是其结果往往是列表而不是符串。我们能够对列表进行相加、重复、索引 、切片,循环遍历等操作,就像对字符串的操作那样。练习1:将列表lst1和lst2进行相加练习2:将列表lst1=[‘Hi!’]通过操作变成lst2=[‘

2021-02-05 21:50:51 176

原创 Python字符串

一.字符串使用引号(单引号、双引号、三引号)引起来的内容就是字符串。字符串官方定义:元素以引号包围不可修改的有序序列。注:1.不可修改:字符串中的内容一旦定义后就不能修改。2.有序序列:即成员(字符)有序排列,可通过下标访问。1.字符串索引字符串中每一个个体我们称之为字符或者元素。索引指的是字符的下标。字符串索引正序从0开始,倒序从-1开始。2.字符串切片字符串切片格式为:[起始索引:结束索引:步长] 步长省略默认为1步长为负值时表示从开始索引位置往左截取遍历字符串3.字

2021-02-05 17:01:31 90

空空如也

空空如也

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

TA关注的人

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