自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 yaml文件知多少

首先上链接:https://www.cnblogs.com/caibao666/p/10238497.html详细的可去该链接看yaml文件允许三种格式,分别为常量值,数组和对象yaml只有行注释 以 #开头格式要求:​ 大小写敏感​ 使用缩进代表层级关系​ 不要求缩进的空格个数,对齐就行# 对象# 表示属性值# 使用冒号代表,格式为key: valueurl: https://www.baidu.com# 表示server的host的值# 可使用缩进表示层级关系:server

2021-11-19 14:04:41 437

原创 python的中* 和** 的打包和解包

python的中* 和** 的打包和解包一、参数打包*的作用:在函数定义中,收集所有位置参数到一个新的元祖,并将元祖赋值给变量argsdef func(*args): print(args) func(1) # (1,)func(1, 2, 3) # (1, 2, 3)**的作用:在函数定义中,收集所有的位置参数到一个新的字典,并将字典赋值给变量kwargsdef func1(**kwargs): print(kwargs)func1(a=1) # {'

2021-11-19 11:20:44 465

原创 pytest和unittest

pytest和unittest的区别基本测试用例:unittest- 需要 import unittest​ 写case必须定义类​ 测试类必须继承class TestLogin(unittest.TestCase):​ 测试用例函数必须以test开头 def test_login1(self):pytest - 需要import pytest​ 不必须定义类,类和函数都支持​ 类必须以Test开头​ 函数必须以test开头断言:unittest- 提供了很多自带的断言,通过

2021-11-12 14:14:15 826

原创 pytest的fixture

pytest的fixturefixture 和 普通前后置条件的区别fixture 的作用和 setup / teardown 功能类似,都是在case执行前和执行后自动执行的,但是他更加灵活1、setup 和 teardown 是拿不到返回值的,使用 fixture 是可以的2、steup 和 teardown 无法指定在某个case上运行, fixture 是可以的3、setup 和 teardown 多文件使用,每个文件都需要写,fixture 可以只写一次4、fixture 就是一个普通

2021-11-12 11:35:31 1032

原创 Python2.x中新式类和经典类的区别

1,新式类和经典类的区别:广度优先和深度优先,这主要是在多类继承的时候会使用到,如下多类继承的D类对比:经典类在加载的时候采用的是深度优先算法,二新式类采用的是广度优先算法:比如经典类: 搜索顺序是(D,B,A,C)class A: attr = 1…class B(A): pass…class C(A): attr = 2…class D(B,C): pass…x = D()x.attr1新式类继承搜索程序是宽度优先新式类:搜索顺

2021-11-02 11:29:35 214

原创 发送邮件

发送邮件发送邮件的模块:yamail==>从yagmail改的 附件有中文的时候会乱码,修改了这一点yagmail.SMTP()参数yagmail.SMTP()里面的几个重要参数!user和password顾名思义啦,就是你自己的邮箱账号和密码但是这个问题就来了,平时登陆邮箱一般账号密码登陆有些时候好像是要打验证码的呀,这样python就传了个账号和密码真的能把邮件发出去吗?然此密码非彼密码,用的密码是邮箱中的授权码,就是专门授权给机器登陆的密码。一般邮箱中,进入设置,然后POP3/SMT

2021-06-18 18:01:04 278

原创 异常处理

异常处理import tracebackl1 = [1, 2, 3]try: print(l1[4])except Exception as e: # traceback.print_exc() # 打印异常的 msg = traceback.format_exc() # 异常的信息,保存了以后可以写进日志 print(msg)else: print('没有异常')finally: print('出不出异常都走到这里')...

2021-06-18 17:59:10 68

原创 requests模块

requests模块requests模块是一个简洁强大的一个模块,是进行网络请求的get请求'''get请求'''url = 'http://api.xxxxx.cn/api/user/stu_info'data = {'stu_name': 'xiaohei1'}req = requests.get(url, params=data)post请求'''post请求'''url = 'http://api.xxxxx.cn/api/user/login'data = {'usernam

2021-06-18 17:58:30 86

原创 md5加密

md5加密import hashlib# md5加密是不可逆的# s.encode() 是转成二进制的类型进行加密s = 'zyy0110'm = hashlib.md5(s.encode()).hexdigest()print(m)# md5加密加盐def my_md5(s, salt=''): s = str(s) new_s = '%s%s' % (s, salt) m = hashlib.md5(new_s.encode()) return m.

2021-06-10 15:46:29 155

原创 操作redis

Python操作redis连接Redis,db不指定默认就是0import redisr = redis.Redis(host="118.xx.xx.xxx", password="HKxxxx", port=6379, db=4, decode_responses=True)# decode_responses=True,加上这个参数,返回的值都是字符串类型,否则默认是

2021-06-07 18:59:18 62

原创 操作Excel

Python操作Excelxlrd 只能读xlwt 只能写xlutils 能修改,copy后再进行修改但是不能超过65536行openpyxl 这个模块只能针对xlsx格式的,不限制长度xlwt模块,写入Excelimport xlwttitle = ["id", "name", "sex", "city"]students = [ [1, "哈哈哈", "男", "北京"], [2, "啦啦啦", "男", "北京"], [3, "哦哦", "女", "深

2021-06-07 18:58:33 160 1

原创 操作数据库MySQL

Python操作数据库mySQLconnect = pymsql.connect( **mysql_info)游标这样设置:cursor = connect.cursor()1、cursor.fetchall() 返回的结果 是元祖套元祖 ((2, ‘xxx’, 0, ‘2352352’), (3, ‘yyy’, 3, ‘18511255452’))2、cursor.fetchone() 返回的结果 是元祖 (1, ‘xxx’, 1, ‘1382352352’)游标设置成返回字典格式:cursor

2021-06-07 18:57:58 347

原创 time模块

time模块时间戳:从计算机诞生那一天到现在过了多少秒 1621063294格式化好的时间: 2021-5-15 19:38:23import timeprint(int(time.time())) # 取当前的时间戳print(time.strftime('%Y-%m-%d %H:%M:%S')) # 取当前格式化好的时间print(time.strftime('%Y-%m-%d')) # 取当前格式化好的时间时间戳与格式化的时间相互转化# 时间戳转格式化好的时间time_tu

2021-06-07 18:56:07 51

原创 random模块

random模块import randomrandom.randint(1, 999) # 随机整数random.uniform(1, 99) # 随机小数a = 'sdeffrghtytjv'l = [2, 5, 66, 99, 234]l1 = ['a', 'c', 'f']print(random.choice(l)) # 随机选择一个print(random.sample(l, 3)) # 随机选择多个,返回一个listprint(random.sample(a, 4)

2021-06-07 18:55:37 127 1

原创 os模块基本操作

os模块基本功能–删除import osos.rename('mm.py', '新名字.py') # 重命名文件夹os.remove('111.py') # 删除文件,不能删除文件夹os.rmdir('111') # 删除空文件夹的创建# 创建文件夹,父目录不存在的时候不能创建,父目录存在也可以创建多层级的os.mkdir('cars/bmw1/bmw11')os.mkdir('222')# 创建文件夹,可以创建有层级关系的文件夹:cars/bmw# 如果父目录不存在,会创建

2021-06-07 18:54:47 80

原创 常用的内置函数

常用的内置函数print()int()str()list()tuple()dict()set()float()id()sum() # 求和max() # 取最大值min() # 取最小值round(avg, 2) # 保留几位小数l = [1, 3, 11, 81, 7, 8, 9]print(sum(l))print(max(l))print(min(l))avg = sum(l) / len(l)print(avg)print(round(avg, 2)

2021-06-07 18:54:12 174

原创 json模块

json模块字典只是Python认识的数据类型json是所有的语言都认识的数据类型json是一个字符串dict和json的转换,用json模块的方法1.将dict转换成jsonensure_ascii=False 正常显示中文# 1.Python数据类型转成json类型 --字典转jsond = {"code": 0, "msg": "操作成功", "token": "1234"}pprint.pprint(d)# {'code': 0, 'msg': '操作成功', 'token'

2021-06-07 18:53:02 112 1

原创 操作文件的9种方法

操作文件 r w a文件打开有9种模式 不写打开方式,默认就是读读 r 只能读 文件不存在报错写 w 只能写 文件不存在会新建一个追加 a 只能追加写 文件不存在会新建一个文件的写操作write只能接收字符串w模式下,打开不存在的文件会报错num = [1, 2, 3, 4]f = open('a.txt', 'w', encoding='utf-8')# 1.打开的文件不存在会报错# write只能接

2021-06-07 18:52:08 635

原创 git 修改 .gitignore 文件,重新生效

gitignore只能忽略没有被上传到Git上面的文件,如果该文件已经被上传上去了,那么将不会再生效此时需要清一下缓存,重新add一下,再刷新ignoregit rm -r --cached . #注意后面有个.git add . #注意后面有个.git commit -m ‘update .gitignore’...

2021-05-19 11:28:57 440

原创 django orm的基础操作

django orm的基础操作(django提供的数据库操作)字面意思:O->Object RM->Relational (关系) Mapping(映射)代表什么思想:实际上就是一种把数据库映射成对象的想法数据库的表(table) --> 类(class)记录(record,行数据)–> 对象(object)字段(field)–> 对象的属性(attribute)QuerySet查询集,也称查询结果集、QuerySet,表示从数据库中获取的对象集合。Qu

2021-05-11 16:39:05 159

原创 django models 多对多

django models 多对多创建有多对多关系的数据库-modelsclass Student(models.Model): name = models.CharField(verbose_name='学生名字', max_length=50) age = models.IntegerField(verbose_name='年龄') class Meta: db_table = 'student'class Teacher(models.Model):

2021-05-11 16:38:23 532

原创 django的分页

django的分页页面数据过多,提高应用的速度进行分页Django提供了Paginator进行分页处理1-引入Paginator2-创建分页对象articles = models.Article.objects.all() 获取全部的文章数据page_obj = Paginator(articles,5) 自带分页器进行分页,每页展示5条数据from django.core.paginator import Paginatordef index(request):

2021-05-11 16:37:23 169

原创 Django的 filter 和 tag

Django 的filter和tag1、django的filter 和 tag == vue实例里 filter属性django自带过滤器(filter)可以对服务端返回的数据进一步加工。使用方式1.0、在html当中通过{{ navs|length }}进行使用----filter练习<br> {{ navs }}<br> {{ navs|length }}---长度<br> {{ navs.0 }}---获取第一个元素<br>

2021-05-11 16:36:24 239

原创 Django中间件

Django中间件中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出用户----中间件—url—视图在settings中设置中间件的MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.midd

2021-05-10 18:26:27 45

原创 Django使用admin后台

Django使用admin后台admin后台的链接是:127.0.0.0:8000/admin在应用文件夹下方的admin.py文件里配置admin后台的内容和内容样式#添加显示表WebSiteadmin.site.register(models.WebSite)#添加表Article和表的内容样式-ArticleAdmin,见下方admin.site.register(models.Article,ArticleAdmin)admin后台会有所建表的内容注册admin后台的账号:创建账号

2021-05-10 18:25:58 275

原创 Django上下文管理器

Django上下文管理器Django的前端页面的数据是从数据库获取的,如果有多个html页面的数据是相同的话,在views.py文件里面定义的多个函数中就需要多次从数据库中获取相同的数据,如果每个view都需要返回同样的数据,那么就需要考虑上下文管理器结构:上下文管理器文件名一般为context_processors.py,def xx(request) 为一个自定义函数,必要参数request,将里面的内容以字典的形式返回给所有模板,模板通过 {{ key }}取值。from . import mo

2021-05-10 18:25:26 158

原创 Django页面的继承

Django页面的继承设置base.html页面,把公共的部分,多个页面都会用到的部分拿出来,写一个完整的页面,在会写入别的内容的地方预留下位置:<head> <title>{{ web_site.title }}</title> <!--在head里面预留写css样式的位置--> {% block css %} {% endblock %}</head><body><main>

2021-05-10 18:24:54 334

原创 Django的html页面,循环数据库的内容,显示

Django的html页面,循环数据库的内容先在views里面,返回需要使用的数据def index(request): categories = models.Category.objects.all() articles = models.Article.objects.all() return render(request,'index.html',{'categories':categories,'articles':articles}){% for category

2021-05-10 18:24:19 485

原创 Django创建数据库表与增删改查

Django 创建数据库表1.创建默认的Django数据库1.1在应用的models里 新建表:#创建文章表class Artical(models.Model): name = models.CharField(verbose_name='标题',max_length=25,unique=True) # unique = True,不能重复--这个不用加,就是为了体现知识点 #最大长度是25,CharField就是数据库的varchar content = mode

2021-05-10 18:23:16 470

原创 python3的input函数实现回车换行,而不是结束输入

#实现回车换行,而不是结束endstr=""#重新定义结束符str=""for line in iter(input,endstr):#每行接收的东西 用了iter的哨兵模式 str+= line+"\n"#换行print(str)这里定义的结束符是空行,即连续输入2次换行就退出输入...

2021-05-08 11:19:20 5587

原创 Django新建第一个项目

DjangoDjango是重量级的 web应用框架,用Python语言开发​ Python和Django 是快速开发、设计、部署网站的最佳组合MVC模型:​ model–模型 编写程序应有的功能,负责业务对象与数据库的映射​ view–视图 图形界面,负责与用户的交互​ controller–控制器 负责转发请求,对请求进行处理MTV模型:​ model–模型 编写程序应有的功能,负责业务对象与数据库的映射​ template-模板

2021-04-30 17:47:43 206 1

原创 非0即真,非空即真

Python中的几种空和零的情况#下面几种是空和零a = ''b = []c = {}d = 0f = None非空,非0即真,即执行,否则elseusername = input('username: ').strip()if username: print('username:',username) else: print('输入不能为空')...

2021-04-28 18:23:42 304

原创 深拷贝和浅拷贝

深拷贝和浅拷贝只有import copy 的 copy.deepcopy才是深拷贝一个题目:要打印出列表里的偶数l = [1,1,2,3,4,5,6,7,8,9]l2 = l.copy() #也是浅拷贝for i in l: if i % 2 !=0 : l2.remove(i)print(l)print(l2)'''如果直接在列表里面去remove数据,会下标混乱,造成错误所以要copy一个列表来remove如果直接l2 = l,那么l和l2所指定的地址是

2021-04-24 21:15:37 55

原创 三元表达式、列表生成式和变量交换

三元表达式简单的可以写,有elif的不能写,而且必须写else#三元表达式age = 17desc = ''if age>=18: desc = '成年'else: desc = '未成年'#等价于desc1 = '成年' if age>18 else '未成年'列表生成式list1 = list(range(1,11)) #生成列表,元素是1-10变量交换Python中的变量交换不需要引入第三方a = 1b = 2a,b = b,a...

2021-04-24 18:11:17 104

原创 集合的基本用法

集合1.集合是无序的,不能通过下标取值2.集合天生是可以去重的3.定义一个空集合,s2={}这是空字典s2 = set()集合列表之间是可以互相转换的l = [1,1,2,2,3,3,4,4,5]print(list(set(l))) #集合可以转成列表,去重了元素集合的增和删s = {1,2,3,4,5}#新增元素和加入集合s.add(10) #把一个元素加入进去s.update({11,12,13}) #把另一个集合加入进去#集合元素的删除s.pop() #删除第一个

2021-04-24 18:04:12 525

原创 字符串的方法

字符串的方法字符串用下标寻找元素,index和finda = ' abcedc 'print(a.index('a1')) #找不到会报错print(a.index('a',0,2)) #指定从0的位置开始找,结束的位置是2print(a.find('a1')) #找不到会返回-1字符串去空格 stripa = ' abcedc\n.jpg'a.strip() #默认去掉字符串两边的空格,和换行符a.lstrip() #去掉字符串左边的空

2021-04-24 17:49:43 312

原创 VUE的组件,父子组件

组件组件a)、全局组件组件:将公用的功能抽离出来,形成组件,目的就是复用代码全局组件必须写在Vue实例创建之前,才在该根元素下面生效全局组件 demo是组件的名字,后面{}是组件的内容组件中的data必须是个方法,通过return map来定义数据<body><div id="app"><!--为了代码复用,所以能看到多个组件--><!-- <demo></demo>--><!-- <dem

2021-04-22 18:07:58 89

原创 Vue基本用法

Vue·Vue的核心思想是只要改变数据,页面就发生变化1、vue实例vue 要在body标签里面,引入一对script标签,src="vue.js"导入vue再引入一对script来new一个vue的实例,使用<body> <div id="app"> 被下面的Vue实例接管 </div> <script src="vue.js"></script><script> //new 一个Vue对象

2021-04-22 18:05:14 1014

原创 前端的基础

前端前端的三把利器把前端比作一个赤裸的人。一、HTML(将这个人完成呈现出来)html基础元素从标签的开始到标签的结束 是一个元素属性HTML标签可以有属性属性在开始标签中规定属性都是以 name=“value” 形式出现的常用的属性align=“center” 是居中新建一个HTML文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l

2021-04-22 15:51:29 121

原创 html常用标签

html常用标签标签中间展示的是文案<body> <h1 align="center">第一个标题</h1> <h3> <a href="#h4">h3标签点击跳转到h4</a> <a href="http://www.baidu.com">跳转百度当前页面</a> <a href="http://www.baidu.com" target="_blank">跳转百

2021-04-21 17:34:28 121

空空如也

空空如也

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

TA关注的人

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