一、判断1. if……else if …… else语法if(条件表达式){ 执行代码块;} else if (条件表达式) { 执行代码块;} else { 执行代码块;} 123456789101112131415161718192021// 引入 scannerimport java.util.Scanner;public class demo01{ public static void main(String[] args) { // 创建 scanner 对象 Scanner myScanner = new Scanner(System.in); System.out.println("请输入年龄"); int age = myScanner.nextInt(); if ( age >= 18 && age < 60){ System.out.println("他成年了"); }else if ( age >= 60) { S ...
一、 fixture1. fixture 详解fixture(scope='function',params=None,autouse=False,ids=None,name=None) scope:有四个级别参数”function”(默认),”class”,”module”,”session” params:一个可选的参数列表,它将导致多个参数调用fixture功能和所有测试使用它。 autouse:如果True,则为所有测试激活fixture func可以看到它。如果为False则显示需要参考来激活fixture ids:每个字符串id的列表,每个字符串对应于params这样他们就是测试ID的一部分。如果没有提供ID它们将从params自动生成 name:fixture的名称。这默认为装饰函数的名称。如果fixture在定义它的统一模块中使用,夹具的功能名称将被请求夹具的功能arg遮蔽,解决这个问题的一种方法时将装饰函数命 2. fixture 作用范围scope 参数可以控制fixture的作用范围: session > module & ...
一、 CSS 语法 及 注释1. 语法CSS规则有两个主要部分,一个 选择器 和 一个或多个 声明: 选择器:指定CSS规则适用于HTML页面中的哪个元素。 声明:决定了元素在网页上的格式。 每个声明都包含一个属性和一个值,这些值和值之间用冒号(:)分隔并以分号(;)结尾,并且声明组用花括号括起来{}。 注意: 虽然CSS属性名称和许多属性值都不区分大小写。但是CSS选择器是区分大小写,例如:.maincontent与.mainContent是两个不同的class类选择器,是区分大小写的。 2. 注释CSS注释以开头/*,以结束*/ 12345/* 这是一段注释 */p { font-size: 18px; text-transform: uppercase;} 二、 基础 选择器选择器是CSS最重要的方面之一,因为它们用于选择网页上的元素,以便可以设置样式。 1,基本选择器语法 选择器 类型 功能描述 * 通配选择器 选择文档中所有HTML元素 E 元素选择器 选择指定类型的HT ...
一、 数据库查询强化训练1. 字段条件查询字段查询是指如何指定SQL WHERE子句的内容。 它们用作QuerySet的filter(), exclude()和get()方法的关键字参数。 其基本格式是:field__lookuptype=value,注意其中是 双下划线。 默认查找类型为exact(精确匹配)。 lookuptype的类型有: Django的数据库API支持20多种查询类型,下表列出了所有的字段查询参数: 字段名 说明 exact 精准匹配 iexact 不区分大小写的精准匹配 contains 包含匹配 icontains 不区分大小写的包含匹配 in 在 。。。之内的匹配 gt 大于 gte 大于等于 lt 小于 lte 小于等于 startswith 从开头匹配 istartswith 不区分大小写的从开头匹配 endswith 从结尾处匹配 iendswith 不区分大小写的从结尾处匹配 range 范围匹配 date 日期匹配 year 年份匹配 iso_year 以 ISO ...
一、 资源的增删改查1. 新增资源1234567891011121314151617181920212223# views.py@api_view(['GET', 'POST']) # 允许的请求方法def request_list(request, format=None): # 查询数据 if request.method == 'GET': # 构造序列化器 serializer = RequestSerializer(Request.objects.all(), many=True) # 返回 json 格式数据 # safe=False 是为了支持 {} 以外的 python 对象转 json return Response(serializer.data) # 将 python 原生格式转成 json 数据 # 新增数据 --- POST elif request.method == ...
一、 自定义接口规范(渲染器)1. 渲染器的基本原理 序列化在返回数据后并不是直接做为响应数据,而是经过渲染器的渲染,生成不同格式的响应内容 。 重构渲染器就是重写父类渲染器的render方法 。 1render(self, data, accepted_media_type=None, renderer_context=None) data : 响应数据(序列化器的.data属性),等同于renderer_context[“ response “].data的值 accepted_media_type=None : 可选的。如果提供,这是由内容协商阶段确定的所接受的媒体类型。 根据客户端的 Accept: 头,这可能比渲染器的 media_type 属性更具体,可能包括媒体类型参数。例如 “application/json; nested=true” 。 renderer_context=None : 可选的。如果提供,这是一个由view提供的上下文信息的字典。 默认情况下这个字典会包括以下键: view , request , response , args ...
–、 安装 Vue1. 本地引用安装 — Vue.js (vuejs.org) 1<script src="../lib/vue.js"></script> 2. 外部引用1<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> 二、 模板语法1. 插值语法 功能:用于解析标签体内容。 语法: 123456// xxx是js表达式,{ { xxx; }} 可以直接读取到 data 中的所有属性。 1. 文本12345678910<div id="app">{{ message }}</div><script> var app = new Vue({ el: "#app", data: { message: " ...
一、 组件1. 非单文件组件Vue 使用组件的三大步骤: 创建组件使用 Vue.extend(options) 创建组件注意: el 不好写 data 必须写成函数 123456789101112131415//第一步:创建student组件const student = Vue.extend({ template: ` <div> <h2>学生姓名:{{studentName}}</h2> <h2>学生年龄:{{age}}</h2> </div> `, data() { return { studentName: "张三", age: 18, }; },}); 注册组件 局部注册:靠 new Vue 的时候传入 components 选项 全局注册:靠 Vue.c ...
一、PySide2 、 PyQt5 简介PySide2、PyQt5 都是基于著名的 Qt 库。Qt 库里面有非常强大的图形界面开发库,但是 Qt 库是 C++语言开发的,PySide2、PyQt5 可以让我们通过 Python 语言使用 Qt。PySide2 是 Qt 的 亲儿子 , PyQt5 是 Qt 还没有亲儿子之前的收的 义子 (Riverbank Computing 这个公司开发的)。那为什么 PyQt5 这个义子 反而比 PySide2 这个亲儿子更出名呢?原因很简单:PySide2 这亲儿子最近(2018 年 7 月)才出生。 二、 PySide2 安装1pip install pyside2 网络比较慢,可以指定国内的安装源,下载安装。 1pip install pyside2 -i https://pypi.douban.com/simple/ Qt 官方网站声明了: Windows上 Python 3.8.0 调用 Qt 5.14 , 会有问题。有类似下面这样的导入错误 1ImportError: Dll load failed while importing sh ...
一、多线程的概述1. 进程与线程 进程 :在系统中正在运行的一个 应用程序 ,程序一旦运行就是进程。 进程 —- 资源分配的最小单位。 线程 : 系统分配处理时间资源的基本单元,或者说进程之内独立执行的一个单元试行流。 线程 —- 程序执行的最小单位。 进程 中最少有一个线程。 2.进程的组成 内存 : 每个进程的内存是相互独立的。 文件/网络句柄 : 它们是所有的进程所共有的。 线程 所有的 线程 共享 该进程的所有资源。 3. 进程与线程—-汇总 进程有分配已大部分的内存,而线程只需要分配一部分栈就可以了。 一个程序至少有一个进程,一个进程至少有一个线程。 进程是资源分配的最小单位,线程是程序执行的最小单位。 一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。 4.多线程 使用线程可以把 占据长时间 的程序中的任务放到后台去处理。 用户界面可以更加吸引人。 程序的运行速度可能加快。 在一些 等待的任务 的实现上,线程就比较有用。 5.多线程的执行方式 串行 :依次执行所有的线程,上一个线程没有执行完之前,下一个线程不会执行。 并行 : 所 ...