- 博客(554)
- 资源 (11)
- 收藏
- 关注
原创 Python基础-公共操作
运算符公共方法容器类型转换一、运算符运算符 描述 支持的容器类型 + 合并 字符串、列表、元组 * 复制 字符串、列表、元组 in 元素是否存在 字符串、列表、元组、字典 not in 元素是否不存在 字符串、列表、元组、字典 + 号str1 = ('aa', 'bb', 'cc')str2 = ('cc', 'dd', 'ee')tuple1 = (1, 3, 4, 5)tu.
2022-04-01 23:28:41 746
原创 Python基础-集合
创建集合集合数据特点集合常见操作一、创建集合创建集合使用{}或者set(),但是如果要创建空集合只能使用set(),因为{}用来创建空字典了
2022-03-29 23:17:37 979
原创 Python基础-字典
字典应用场景语法常见操作字典的循环遍历语法符号大括号数据为键值对形式出现的各个键值对以逗号隔开常见操作增写法:字典序列[key] = 值注意:如果key存在则修改这个key对应的值,如果key不存在则新增此键值对,字典为可变类型d1 = {'name': 'test', 'age': 12, 'sex': '男'}d1['name'] = '新名字'print(d1)# 输出{'name': '新名字', 'age': 12, 'sex': '男'}
2022-03-28 23:41:18 796
原创 Python基础-元组
1、元组的应用场景如果想要存储多个数据,但这些数据不能修改,这个时候就用元组元组和列表的区别,元组数据不可修改,列表里的数据是可变的tuple1 = (0, 1, 2, 3, 4)print(tuple1)print(type(tuple1))注意:定义元组,当元组只有一个数据的时候,这个数据后面最好也添加逗号,否则数据类型为唯一的这个数据的类型t2 = (1,)print(type(t2))t3 = (2)print(type(t3)) # int类型t4 = ('h
2022-03-27 21:29:41 960
原创 Python基础-列表
列表的格式[数据1,数据2,数据3,数据4]列表可以一次性存储多个数据,且可以为不同数据列表的常用操作1、查找下标name_list = ['test1', 'test2', 'test3']print(name_list[0])print(name_list[2])函数index():返回指定数据所在位置的下标语法:列表序列.index(数据,开始位置下标,结束位置下标)count():统计指定数据在当前列表中出现的次数len():访问列表长度,即列
2022-03-27 19:44:35 330
原创 Python基础-字符串
字符串特征一对引号字符串name1 = ‘test’name2 = ‘test2’三引号字符串,支持回车换行name3 = ''' test3'''name4 = """test4 """name1 = 'test'print(name1)print(type(name1))name2 = "test2"print(name2)print(name2)print(type(name2))# 三引号name3 = ''' test3 sdf
2022-03-26 14:34:00 270
原创 Python基础-循环语句
循环的分类:while 和for 最终实现的效果一致while的语法while 条件:条件成立重复执行的代码1条件成立重复执行的代码2循环应用1-100累计之和a = 1result = 0while a <= 100: result += a a += 1print(result)循环应用之1-100的偶数累计之和n = 1result = 0while n <= 100: if ...
2022-03-23 00:06:48 968
原创 Python基础-判断语句
一、if...else...if 条件:条件成立执行的代码1条件成立执行的代码2else:条件不成立执行的代码1条件不成立执行的代码2"""1、输入一个年龄2、判断年龄3、输出结果需要注意input返回的类型是str"""age = int(input('请输入您的年龄'))if age >= 18: print(f'您的年龄是{age},可以上网')else: print(f'您的年龄不满...
2022-03-22 00:02:08 1732
原创 Python基础-运算符
运算符的分类1、算数运算符+ - * **次方 /除 %取模 //整除,优先级顺序,()高于 ** 高于 * / // % 高于+ -2、赋值运算符2.1单个变量赋值= 将= 号右边的值,赋值给左边的变量num =1print(num)2.2多个变量赋值num1,float1,str1=10, 0.5, ‘hello world'print(num1)print(float1)print(str1)2.3多变量赋相同值a=b=10print(a..
2022-03-18 00:35:19 345
原创 Python基础-注释、变量、数据类型、格式化输出、输入、数据类型转换
一、Python入门:变量输出、输入、数据类型流程控制:条件语句、循环数据序列:字符串、列表、字典、元组二、函数:参数、返回值、递归、lambda表达式文件操作:打开和关闭、读取和写入三、面向对象:类和对象、继承、面向对象高级模块、包、异常注释注释的分类单行: # 注释内容多行: """注释内容 """ 或者 ''' 注释内容'''变量变量的作用定义变量认识数据类型...
2022-03-15 00:00:17 888
原创 HttpRunner3使用
junit testng unittest pytest , httprunner robotframework 不需要写脚本httprunner3
2022-03-12 17:38:07 4083
原创 DRF-认证、权限、限流、过滤、排序、分页、异常处理、自动生成接口文档
一、认证第一个功能是表单认证、session认证,认证通过后,就到了权限,这个用户是否有这个权限,二、权限控制用户有哪些资源的访问权限,认证和权限是需要一块使用的。三、限流主要针对爬虫来说的,一个用户请求的次数ip地址进行限流。四、过滤在请求数据的时候,按照商品的名称进行过滤,五、排序按照销量排序,按照日期排序,按照价格排序六、分页用在列表页数据中,七、异常处理数据库异常,REST framework不能处理数据库异常,在原来基础上,增加处理数据库异常的方
2022-03-09 00:14:52 1030 1
原创 DRF-视图集ViewSet和GenericViewSet的使用方式
视图集(1、路由匹配规则发生变化;2、视图中定义方法不再按照请求方式定义)视图集分为:两个基本视图集:(1)ViewSet,继承自APIView,没有继承拓展类,业务逻辑还得自己去写(2)GenericViewSet,继承自GenericAPIView,没有继承拓展类,业务逻辑还得自己去写两个拓展视图集:(1)ModelViewSet(增删改查都可以实现了),继承了GenericAPIView,继承了五个拓展类(2)ReadOnlyModelViewSet(实现了获取多个数据对象
2022-03-05 12:28:16 1360
原创 DRF-五个拓展类及使用、拓展类子类
一、五个拓展类(配合GenericAPIView)继承自object,这五个拓展类里都对应的封装好了相应的功能,我们只需要调用里面的方法就可以了ListModelMixin:获取多个数据对象CreateModelMixin:保存数据RetrieveModelMixin:获取单一数据对象UpdateModelMixin:更新数据DestroyModelMixin:删除数据。这五个拓展类是配合GenericAPIView使用的所以还是用GenericaAPIView的视图类代码,..
2022-03-02 23:47:09 475
原创 DRF-模型类序列化器的使用ModelSerializer
ModelSerializer可以根据指定的模型类,自动生成相应的序列化器字段,继承Serializer的时候所有方法是手写,现在使用继承ModelSerializerclass BookModelSerializer(serializers.ModelSerializer): class Meta: model = BookInfo # 指定生成字段的模型类 fields = ('btitle', 'bread') # 指定模型类中的字段1、fiel
2022-03-01 00:02:21 682
原创 DRF-反序列化保存方法和更新方法
一、反序列化保存方法在serializer序列化器中创建一个保存方法 def create(self, validated_data): # 保存数据,validated_data 是个字典,做拆包处理 # **validated_data 它的含义是,{'name':'python'} name = python book = BookInfo.objects.create(**validated_data) return
2022-02-24 23:37:46 2392
原创 DRF-反序列化参数验证
一、反序列化参数验证步骤1、先去序列化器中指定每个字段的验证参数2、在视图当中使用我们创建的序列化器,并且把传递的入参交给data参数,生成一个对象,用对象点is_valid() 来进行验证。 验证方法,一旦调用这个is_valid()方法,就会调用序列化器里的数据内容是否符合要求,想看下验证结果,如何查看验证结果呢,通过对象点errors来查看,同时如果加了raise_exception=True, raise_exception=True 的含义是,一旦检出错误,自动return,不用我们手写r
2022-02-24 00:00:17 1239
原创 DRF-嵌套序列化
from django.db import models# Create your models here.class BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name='名称') bpub_date = models.DateField(verbose_name='发布时间') bcomment = models.IntegerField(default=0, ve.
2022-02-22 23:30:26 1511
原创 Python面向对象思想
一、属性class A(object): # 类属性 a = "A" def __init__(self): # 实例属性 self.b = "B" class Meta: c = "C"print(A.a)print(A().b)print(A().Meta.c)1、类属性2、实例属性,类属性,类本身只能调类属性,不能调用实例属性实例属性,实例对象可以调用类属性和实例属性可以在类里面再定.
2022-02-22 00:19:09 511
原创 使用DjangoRestframework序列化器重写get方法及源码分析
查询接口的重新写法新建一个子应用python manage.py startapp book_drf, 把这个子应用在父应用的setting.py里进行注册,然后父应用的urls.py的新加路由,指定到子应用的路由中,在子应用urls.py中添加路由,指向子应用中的视图views.py中的类名。from django.contrib import adminfrom django.urls import path, includefrom django.conf.urls import u
2022-02-19 22:38:21 1034
原创 序列化和反序列化、Django Rest framework
反序列化,反序列化是指从前端接收的json数据,转成数据对象的过程,更新操作、保存操作有反序列化操作,接收前端->验证数据->保存或更新为新的数据对象序列化将获取到的数据对象转化为json数据。如果使用上一篇的写法,反序列化和序列化都要自己进行写代码,为了提高效率,使用Django Rest Framework,把反序列化和序列化代码进行了封装,定义一个序列化器Serializer,可以帮助自动实现反序列化和序列化Django REST framework借助 Django框架来进行
2022-02-19 22:12:06 284
原创 Django实现RESTful风格增删改查代码
RESTFul风格的增删改查接口1、获取所有信息创建modelfrom django.db import models# Create your models here.class Book(models.Model): name = models.CharField(max_length=20) price = models.IntegerField() pub_date = models.DateField()class BookInfo(mode.
2022-02-19 10:47:48 684
原创 RESTful设计方法
1、域名应尽量将API部署在专用的域名下http://api.example.com2、版本应该将API的版本号放入URLhttp://www.example.com/app/1.0/foohttp://www.example.com/app/2.0/foo3、路径表示API的具体网址,每个网址代表一种资源,如果要操作什么资源,什么资源就作为路径(1)资源作为网址,只能有名词(books),不能用动词(add_book)(2)资源的名词,需要用复数,无论是子资源还是所
2022-02-19 10:41:23 242
原创 Django-ORM
ORM安装mysqlclient,搜索mysqlclient安装,pymysql先配置_init_.pyimport pymysqlpymysql.install_as_MySQLdb()在mysql数据库中,创建数据库。修改数据库配置,在setting文件中的DATABASES里'default': { # 指定引擎 'ENGINE': 'django.db.backends.mysql', # 指定数据库名称
2022-02-12 10:36:49 656
原创 Django创建子应用及MVT模式
一、python manage.py startapp 子应用名称在子应用中新建一个urls.py文件,作为子路由from django.urls import pathfrom testdjango.views import indexurlpatterns = [ path('', index)]views.py里创建一个视图from django.shortcuts import render# Create your views here.from dja
2022-02-12 10:35:29 459
原创 社区版pyCharm安装Django
cmd到命令行窗口pip install django安装成功后,在命令行输入import djangodjango.get_version()说明安装成功了。进入我的创建项目的文件夹中搭建django项目输入:django-admin startproject XXX(项目名)进入新建的项目中创建应用:python manage.py startapp xxx(应用名)使用pycharm中open打开创建的项目...
2022-01-21 21:50:54 2664
原创 Vue生命周期钩子函数
生命周期钩子函数,类比Spring里的bean的生命周期在官网中找到这个Vue 实例 — Vue.js在main.js中都会new Vue 这个实例1、beforeCreate这个钩子函数,函数执行的时候,组件里的实例并没有被创建,这个函数里面并不知道data是什么2、created 这个时候,实例创建了,data可以获取,监听数据了,但是页面看不到3、el:"#app" 这个在main.js中,用的是mount('#app'),也可以这么写,el.“#app”看vue实例是..
2022-01-02 12:36:24 918
原创 Vue-注册事件
一、注册事件如果子组件想要修改父组件的内容,不能在子组件内进行操作,必须在父组件内进行操作,在子组件内注册一个事件,然后在父组件进行调用Header.vue,在div这给容器中绑定一个点击事件,然后这个方法里使用$emit,注册一个事件,第一参数是事件名称,第二个参数是事件的值,以此类推。注册这个事件后,需要有一个地方触发事件,就是在App.vue里触发<template> <div @click="changeTitle" class="Header">
2022-01-02 12:30:47 1647
原创 VScode安装
官网下载Visual Studio Code - Code Editing. Redefined下载后按照提示安装,安装之后,安装两个插件,Live-Server ,这个插件可以帮助我们热更新,只要保存操作,浏览器就会自动更新。Vetur vue,语法高亮,Vue.js with TypeScript Snippets for VSCode然后在坐下角设置settings设置成这个,是对我们所写的代码进行格式化设置{ "editor.formatO...
2021-12-31 23:17:54 618
原创 Vue-组件嵌套、组件CSS样式、多组件嵌套、组件传值、传值和传引用、多个单文件组件路由的使用
App.vue是父组件,components下面的是子组件组件嵌套包括,全局组件和局部组件一般使用的是局部组件,使用方式是,1、引用组件2、注册组件3、使用组件新建一个Users.vue 子组件,<template> <div class="Users"> <ul> <li v-for="(user, index) in users" :key="index">{{ user }}</li>
2021-12-31 23:16:47 2613
原创 Vue Cli创建项目
首先创建一个文件夹,然后cd到文件夹的根目录上,使用命令vue create vue-demo选个Manually select features ,手动去选择一些功能默认选中babel,帮助转换es6的一些语法,Linter/Formatter,限制我们使用的对应的语法,初学阶段可以不使用,(空格键选中和不选中)选择babel后 点击回车键,In package.json 选择这个,类似pom文件的功能选择n 不保存创建成功后,有这两个命令cd vuecli-demo..
2021-12-31 23:16:13 275
原创 Vue 介绍目录
关闭服务,ctrl +c使用vscode打开cli创建的项目,使用ctrl+c 快捷键,打开控制台,或者点击底部的x在控制台处,输入命令启动项目 npm run serve
2021-12-31 23:16:08 312
原创 Vue Cli(脚手架)安装
脚手架需要的环境:1、Node.js运行环境2、npm(node package manage)依赖包脚手架的好处:1、脚手架可以大大提高开发效率2、可使用最主流的ECMAScript语法3、通过Webpack实现编译查看效果(非浏览器编译)4、自动更新,可实时查看最新效果在Node.js的官网下载node,下载安装包...
2021-12-31 23:14:46 327
原创 Vue-多个Vue实例、注册全局组件,Fetch、axios
一、多个Vue实例vue同样可以初始化多个vue实例对象,然后里面的data、 methods、computed用法都是一样的注意在不同的实例对象里,如果想使用别的实例对象里的data的某个属性,写法不用用this. ,要用某个对象.。const one = new Vue({ el: "#vue-app-one", data() { return { name: '', age: 31,
2021-12-26 08:54:52 2943
原创 Vue基础API使用-el和data的使用、Methods、v-bind属性绑定、v-on事件绑定、事件修饰符、键盘事件、v-model、ref获取元、watch监听data、computed计算属性
创建一个vue-basic-cdn文件夹然后导入到vscode中,新建三个文件,index.html,app.js,styles.css。一、el和data的使用el的含义是这个vue实例要操作哪一个元素的对象,#号是id定位方式,class的定位方式是.data 返回的是一个对象需要,return,对象里面的可以在index.html中使用,但是只能在el指定的容器中使用//实例化Vue对象new Vue({ el: "#vue-app",//element 含义是vue实..
2021-12-11 10:05:37 884
原创 Flask-请求和响应
1、Get请求request.args类型是 不可变字典,可以选择to_dict() 转化成普通的可变字典2、Post请求request.form3、Json数据request.json
2021-11-14 20:25:35 406
chromedriver.exe V2.3
2017-09-11
深入理解java虚拟机
2017-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人