关于ORM本质的理解

1、ORM——对象关系映射

  • 对象是模型类对象
  • 关系是关系型数据库
  • 映射是指一一对应

总而言之,可以理解成一个模型类对应一张表,一个模型类对象对应一条数据,这就是所谓的对象关系映射;通过类和类对象就能操作它所对应的表格中的数据根据我们设计的类自动帮我们生成数据库中的表格

2、ORM操作本质

  • 1、编写模型类语法,翻译成对应的sql语句
  • 2、调用mysql驱动程序如pymysql把翻译的sql语句发送到mysql服务端执行,并获取操作结果

Django数据库配置

1、安装pymysql作为数据库驱动

增删改查

1、增加/新建/保存

# 方案一:创建模型类对象,然后调用对象save方法实现新建保存
# 1、新建模型类对象(实例化/初始化参数,就是对应的模型类类属性,也就是字段)
book = BookInfo(btitle=xxx....) # 此处仅仅只是构建了sql语句,没有和mysql通信;
# 2、调用save方法
book.save()# 方案二:使用模型类管理器:objects
book = BookInfo.objects.create(btitle=xxx...) # 直接新建保存,并且返回新建对象

2、删除

# 使用get方法查询出唯一的对象
book = BookInfo.objects.get(id=1) # get(pk=1)
book.delete() # 通过模型类对象delete()方法调用删除该条数据# 使用filter方法查询出多条数据,批量删除
BookInfo.objects.filter(bread=100).delete() # 批量删除多条数据对象

3、更新/修改

  • 一个对象重复保存即更新;
  • 一个对象的实例属性映射的就是该条数据对应的字段值;
# 单一对象更新操作
book = BookInfo.objects.get(pk=1)
book.btitle="xxxx"
book.bcomment=100
book.save()# 批量更新操作
book_queryset = BookInfo.objects.filter(bread=22) # QuerySet类型对象(该对象里保存了多条模型类对象)
book_queryset.update(bread=33, bcomment=100)

4、过滤查询

4.1 整数类型字段比较查询
# select * from tb_books where bread = 44;
BookInfo.objects.filter(bread=44)
BookInfo.objects.filter(bread__exact=44)
# select * from tb_books where bread > 44;
BookInfo.objects.filter(bread__gt=44)
# select * from tb_books where bread >= 44;
BookInfo.objects.filter(bread__gte=44)
# select * from tb_books where bread < 44;
BookInfo.objects.filter(bread__lt=44)
# select * from tb_books where bread <= 44;
BookInfo.objects.filter(bread__lte=44)
# select * from tb_books where bread != 44;
# elect * from tb_books where not (bread=44);
BookInfo.objects.exclude(bread=44)
4.2 字符类型字段的模糊查询
# select * from tb_books where btitle like '%传%';
BookInfo.objects.filter(btitle__contains='传') # 包含
# select * from tb_books where btitle like '传%';
BookInfo.objects.filter(btitle__startswith='天') # 开头
# select * from tb_books where btitle like '%传';
BookInfo.objects.filter(btitle__endswith='狐') # 结尾
4.3 空查询
# select * from tb_books where btitle is null;
BookInfo.objects.filter(btitle__isnull=True)
# select * from tb_books where btitle is not null;
BookInfo.objects.filter(btitle__isnull=False)
4.4 范围查询
# select * from tb_books where id in (1,2,3);
BookInfo.objects.filter(id__in=[1,2,3])
4.5 日期查询
# 查询bpub_date日期字段属于1980年份,支持查询有:year、month、day等
BookInfo.objects.filter(bpub_date__year=1980)
# 直接把bpub_date字段和python的日期类型对象进行比较
BookInfo.objects.filter(bpub_date__gt=date(1990, 1, 1))

聚合查询

from django.db.models import Sum,Avg,Count,Max,Min
BookInfo.objects.aggregate(Sum('bread'))

排序查询

BookInfo.objects.all().order_by('bread')  # 升序
BookInfo.objects.all().order_by('-bread')  # 降序

复合条件查询

1、使用Q对象拼接具备与(and)或(or)非(not)关系的复合查询条件
from django.db.models import Q
# 结论:filter函数以关键字参数传入的多个查询条件之间是and关系;
# select * from tb_books where (id>1 and id<3);
BookInfo.objects.filter(id__gt=1, id__lt=3)
# 结论:把多个条件表达式,传入Q对象,然后使用“|”运算符把多个表达式构建成互为“and”关系
BookInfo.objects.filter(Q(id__gt=1) & Q(id__lt=3))# 结论:把多个条件表达式,传入Q对象,然后使用“|”运算符把多个表达式构建成互为“or”关系
# select * from tb_books where (id>1 or id<3);
BookInfo.objects.filter(Q(id__gt=1) | Q(id__lt=3))# 结论:把条件表达式传入Q对象中,在Q对象前使用“~”符号进行条件的取反,本质是在sql语句中在表达式之前添加not取反关键字
# select * from tb_books where not (id>1);
BookInfo.objects.filter(~Q(id__gt=1))
2、使用F对象,实现使用一张表中多个字段比较的查询
from django.db.models import F# 结论:把比较的另一个字段名传入F初始化参数中,构建F对象进行比较
# select * from tb_books where bread>=bcomment;
BookInfo.objects.filter(bread__gte=F('bcomment'))# 结论:F对象支持加减乘除操作
# select * from tb_books where bread>=(bcomment*2);
BookInfo.objects.filter(bread__gte=F('bcomment')*2)

关联查询

1、根据主表已知条件,查询从表多条数据
# ----------- 从主表入手-----------
# 方案一:传统方式
# 1、查询主表单一数据
book = BookInfo.objects.get(pk=1)
# 2、通过从表模型类进一步查询从表目标数据
HeroInfo.objects.filter(hbook=book)
# HeroInfo.objects.filter(hbook_id=book.id)# 方案二:使用Django提供的快捷方法查询 --- 从主表入手
# 1、查询主表单一数据
book = BookInfo.objects.get(pk=1)
# 2、根据默认的主表中的隐藏字段"<从表模型类名小写>_set",如果在从表中ForeignKey中定义了related_name那么该隐藏字段就是related_name指定的!
book.heroinfo_set.all() # 与当前主表对象book关联的多个从表对象# 注意:通过从表设置的ForeignKey中添加related_name约束条件,来自定义主表中用来表示关联从表多条数据的隐藏字段名;
# hbook = models.ForeignKey(BookInfo, related_name='heros')
# book.heros.all()# ----------- 从主表入手-----------
# 书名是"天龙八部"关联的所有的英雄
HeroInfo.objects.filter(hbook__btitle='天龙八部')
2、根据从表已知条件,查询主表单一数据
# ----------- 从从表入手-----------
# 1、根据从表已知条件,查询单一主表数据
hero = HeroInfo.objects.get(pk=13)
# 2、通过从表对象中的ForeignKey类型字段,获取关联主表单一对象
hero.hbook # 主表单一对象# ----------- 从主表入手-----------
# 如果从表的ForeignKey中设置了related_name='heros'
BookInfo.objects.filter(heros__hname='王语嫣')
# 如果从表的ForeignKey中没有设置related_name
BookInfo.objects.filter(<从表模型类名小写>_set__hname='王语嫣')

QuerySet查询集

Django模型类语法查询出来的结果集;

1、惰性执行

当且仅当我们使用查询集的时候,才会真的和数据库发生交互,请求查询数据;

2、缓存
  • 1、对查询集进行迭代操作的时候,会触发缓存;
  • 2、对查询集进行逻辑判断的时候,会触发缓存;
  • 3、注意,打印查询集,不会触发缓存!

数据表关联操作

一对多
一本书里面会有多个英雄人物,每个英雄人物都会属于某一本书
数据表一:图书信息 BookInfo (一方)
数据表二:英雄信息 HeroInfo (多方)
外键的定义方式:外键定义在多方对应的模型类中,即,外键需要定义在HeroInfo中外键属性名 = models.ForeignKey(一方对应的模型类名)
class BookInfo(models.Model):"""图书信息:演示一对多,一"""btitle = models.CharField(max_length=20, verbose_name='名称')bpub_date = models.DateField(verbose_name='发布日期')bread = models.IntegerField(default=0, verbose_name='阅读量')bcomment = models.IntegerField(default=0, verbose_name='评论量')is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')class Meta:db_table = 'tb_books'  # 指明数据库表名def __str__(self):"""定义每个数据对象的显示信息"""return self.btitleclass HeroInfo(models.Model):"""英雄信息:演示一对多,多"""hbook = models.ForeignKey(BookInfo, on_delete=models.CASCADE, verbose_name='图书')hname = models.CharField(max_length=20, verbose_name='名称')hgender = models.SmallIntegerField(default=0, verbose_name='性别')hcomment = models.CharField(max_length=200, null=True, verbose_name='描述信息')is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')class Meta:db_table = 'tb_heros'def __str__(self):return self.hname
insert into tb_books(btitle,bpub_date,bread,bcomment,is_delete) values
('射雕英雄传','1980-5-1',12,34,0),
('天龙八部','1986-7-24',36,40,0),
('笑傲江湖','1995-12-24',20,80,0),
('雪山飞狐','1987-11-11',58,24,0);insert into tb_heros(hname,hgender,hbook_id,hcomment,is_delete) values
('郭靖',1,1,'降龙十八掌',0),
('黄蓉',0,1,'打狗棍法',0),
('黄药师',1,1,'弹指神通',0),
('欧阳锋',1,1,'蛤蟆功',0),
('梅超风',0,1,'九阴白骨爪',0),
('乔峰',1,2,'降龙十八掌',0),
('段誉',1,2,'六脉神剑',0),
('虚竹',1,2,'天山六阳掌',0),
('王语嫣',0,2,'神仙姐姐',0),
('令狐冲',1,3,'独孤九剑',0),
('任盈盈',0,3,'弹琴',0),
('岳不群',1,3,'华山剑法',0),
('东方不败',0,3,'葵花宝典',0),
('胡斐',1,4,'胡家刀法',0),
('苗若兰',0,4,'黄衣',0),
('程灵素',0,4,'医术',0),
('袁紫衣',0,4,'六合拳',0);
一查多:一方模型对象.多方模型类名小写_set查询某一本书中所有的英雄:book = BookInfo.objects.get(id=1)heros = book.heroinfo_set.all() 或者heros = book.heroinfo_set.filter()
多查一:多方模型对象.外键属性名查询某一个英雄所属于的图书:hero = HeroInfo.objects.get(id=2)book = hero.hbook
一对一
假如公司中每个职员的薪资都是唯一不重复的
数据表一:职员信息 StaffInfo (一方)
数据表二:薪资信息 SalaryInfo (一方)
外键的定义方式:外键定义在任意一个的模型类中外键属性名 = models.OneToOneField(关联的模型类名)
class StaffInfo(models.Model):"""职工信息:演示一对一"""name = models.CharField(max_length=32, null=True, verbose_name='职工姓名')age = models.CharField(max_length=32, null=True, verbose_name='职工年龄')class Meta:db_table = 'tb_staff_info'def __str__(self):return self.nameclass SalaryInfo(models.Model):"""薪资信息:演示一对一"""money = models.CharField(max_length=32, null=True, verbose_name='薪资')staff = models.OneToOneField(StaffInfo, on_delete=models.CASCADE, verbose_name='关联的职工')class Meta:db_table = 'tb_salary_info'def __str__(self):return self.staff
insert into tb_staff_info(name,age) values
('小红','23'),
('小兰','24');insert into tb_salary_info(staff_id,money) values
(1,'20000'),
(2,'21000');
查询'小红'的薪资:staff = StaffInfo.objects.get(name='小红')money = staff.salaryinfo.moneymoney = staff.关联的模型类名小写.money查询薪资为'21000'的员工:salary = SalaryInfo.objects.get(money='21000')name = salary.staff.namename = salary.外键属性名.name
多对多
一个学生可以选择多个课程,一个课程也可以被多个学生选择
数据表一:学生信息 StudentsInfo (多方)
数据表二:课程信息 CoursesInfo (多方)
数据表三:学生和课程对应信息 StudentsCoursesInfo (中间表) (约束学生和课程之间的多对多的关系的)
外键的定义方式:外键定义在任意一个的模型类中外键属性名 = models.ManyToManyField(关联的模型类名)
# 创建多对多数据表方式一 (优先理解的)
class StudentsInfo(models.Model):"""学生信息:演示多对多"""name = models.CharField(max_length=32, null=True, verbose_name='学生姓名')class Meta:db_table = 'tb_students_info'class CoursesInfo(models.Model):"""课程信息:演示多对多"""name = models.CharField(max_length=32, null=True, verbose_name='课程名字')students = models.ManyToManyField(StudentsInfo, through='StudentsCoursesInfo')class Meta:db_table = 'tb_courses_info'class StudentsCoursesInfo(models.Model):"""中间表"""student = models.ForeignKey(StudentsInfo, on_delete=models.CASCADE)course = models.ForeignKey(CoursesInfo, on_delete=models.CASCADE)class Meta:db_table = 'tb_courses_students_info'
# 创建多对多数据表方式一
insert into tb_students_info(name) values
('张三'),
('李四'),
('王五');insert into tb_courses_info(name) values
('语文'),
('数学'),
('生物');insert into tb_courses_students_info(student_id, course_id) values
(1, 2),
(1, 3),
(2, 1),
(2, 2),
(3, 1),
(3, 2),
(3, 3);
查询'张三'选了哪些课程:student = StudentsInfo.objects.get(name='张三')courses = student.coursesinfo_set.all()courses = student.关联模型类名小写_set.all()查询'语文'被哪些学生选了:course = CoursesInfo.objects.get(name='语文')students = course.students.all()students = course.外键属性名.all()
# 创建多对多数据表方式二
class StudentInfo(models.Model):"""学生信息:演示多对多"""name = models.CharField(max_length=32, null=True, verbose_name='学生姓名')class Meta:db_table = 'tb_student_info'class CourseInfo(models.Model):"""课程信息:演示多对多"""name = models.CharField(max_length=32, null=True, verbose_name='课程名字')students = models.ManyToManyField(StudentInfo)class Meta:db_table = 'tb_course_info'
# 创建多对多数据表方式二
insert into tb_student_info(name) values
('张三'),
('李四'),
('王五');insert into tb_course_info(name) values
('语文'),
('数学'),
('生物');insert into tb_course_info_students(studentinfo_id, courseinfo_id) values
(1, 2),
(1, 3),
(2, 1),
(2, 2),
(3, 1),
(3, 2),
(3, 3);

自关联

每个省份下面有多个城市,每个城市下面又有多个区县
每个区县上面都有一个城市,每个城市上面又都有一个省份
数据表一:省市区信息 Area (自己关联自己)
外键的定义方式:外键定义在当前模型类中外键属性名 = models.ForeignKey('self', null=True)说明:只有自关联的表中的外键可以为空,其他任何关联关系的外键都不能为空因为自关联的表中的顶级字段,他是没有父级的,所以顶级对应的外键必须为空
class Area(models.Model):"""省市区"""name = models.CharField(max_length=20, verbose_name='名称')parent = models.ForeignKey('self', null=True, on_delete=models.SET_NULL, verbose_name='上级行政地区')class Meta:db_table = 'tb_areas'def __str__(self):return self.name
mysql -uroot -pmysql django_demo < areas.sql
查询所有的省份数据:(只查询父级)provinces = Area.objects.filter(parent=None)查询'湖北省'下所有的城市:(父级查子级)hubei = Area.objects.get(name='湖北省')citys = hubei.area_set.all()查询'武汉市'下所有的区县:(父级查子级)wuhan = Area.objects.get(name='武汉市')districts = wuhan.area_set.all()查询'武汉市'属于的省份:(子级查父级)wuhan = Area.objects.get(name='武汉市')province = wuhan.parent

查询相关补充

无论是那种关联查询操作,他们之间的关联查询套路都跟一对多关联查询一样的。
关于get()和filter()的使用场景get():当我们要查询的记录时指定的单一的记录时,使用get()在使用get()查询时,只能得到一个模型对象,如果没有或者多了都会抛出异常BookInfo.objects.get(id=1)filter():当我们需要根据某些条件查询出满足条件的所有数据时,使用filter()在使用filter()查询时,没有查询到数据时不会抛出异常,只会返回一个空的查询集,除非数据库异常 BookInfo.objects.filter(name__contains='张')
一对多、多对多
查询规律:无论先获取到哪个模型对象,先看当前获取的模型对象中是否有外键如果有外键:使用模型对象.外键属性名如果无外键:使用模型对象.关联模型类名小写_set一对一
查询规律:无论先获取到哪个模型对象,先看当前获取的模型对象中是否有外键如果有外键:使用模型对象.外键属性名如果无外键:使用模型对象.关联模型类名小写
自关联
查询规律:无论先获取到哪个模型对象,先看当前是父级查子级,还是子级查父级父级查子级:使用模型对象.自关联的模型类型小写_set子级查父级:使用模型对象.外键属性名补充:顶级数据的查询:顶级数据的查询条件是,他没有父级
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. JavaWeb之JDBC(1)

    JavaWeb--JDBC在Java中一般用JDBC来对数据库进行操作(增、删、改、查),一般查找(select)操作用Statement类的executeQuery方法,其他三个即增删改(add,delete,update)操作用Statement类的executeUpdate方法。JDBC的第一步是加载驱动:(这里我们用的服务器是apache-tomc…...

    2024/3/28 2:01:40
  2. 抖音protobuf协议解码,抖音弹幕解析

    直播间弹幕助手,弹幕解析...

    2024/4/10 13:43:51
  3. jmeter调用外部jar包,maven打jar包,导入外部依赖,添加外部依赖

    maven打jar包,导入外部依赖 一 ida创建maven项目 1.准备工作,先修改maven源,否则新建maven项目很慢. 找到settings.xml2.加入阿里云镜像源<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name>&…...

    2024/4/21 6:43:08
  4. [数据仓库建模] 事实表的类型(可加,半可加,不可加)

    众所周知,数据仓库的事实表中是有数字度量的,一般会根据这些数据度量以及提前规定好的一致性维度来进行统计等工作。 那么事实表中的数组度量分三种:1.可加事实,2.半可加事实,3.不可加事实 下面让我们来看看它们的定义与区别 1.可加事实 可加事实指的是该度量可以按照和事…...

    2024/4/23 5:17:44
  5. 接口自动化测试---环境初始化与清除(setup&teardown)

    1.函数级别:初始化与清除操作setup():初始化函数,会在每个测试用例执行之前运行teardown():清除操作函数,会在每个测试用例执行完成之后运行import pytestdef setup():print("初始化环境")def test_01():print("-----test01-----")def test_02():print(…...

    2024/4/17 15:48:37
  6. 用户双击鼠标时产生的消息序列,下面正确的是()

    答案:WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDBLCLK,WM_LBUTTONUP 双击即点击左键两下,第一次触发LBUTTONDOWN和LBUTTONUP,第二次点击时触发双击事件LBUTTONDBLCLK(doubleclick),放掉再触发LBUTTONUP...

    2024/3/28 3:43:36
  7. NLP学习笔记——在Kaggle Notebook上使用多进程加速文本预处理,节约人生

    前情提要 在学习NLP的新手教程Bag of Words Meets Bags of Popcorn这个比赛的Overview的教程里有一个把每篇文本切分成按句划分的单词list的预处理过程,原文的代码是这样的: sentences = [] # Initialize an empty list of sentencesprint "Parsing sentences from tra…...

    2024/4/22 16:30:27
  8. VMware虚拟机扩展Ubuntu系统磁盘空间

    VMware虚拟机扩展Ubuntu系统磁盘空间...

    2024/4/25 12:21:40
  9. GDPR的学习

    一.什么是GDPR 2018年5月25日,欧洲联盟出台《通用数据保护条例》(GDPR)-欧盟的全面隐私保护法。 二.GDPR的使用范围 1.GDPR适用于在欧盟境内设有业务机构(establishment)的组织,只要这些组织在业务机构在欧盟境内的活动中处理个人数据(而不论此类处理行为是否实际发生在欧…...

    2024/4/27 11:34:13
  10. 乐扣Java版个人代码分享-树篇(剑指 Offer 27. 二叉树的镜像)

    剑指 Offer 27. 二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入:4/ \2 7/ \ / \ 1 3 6 9 镜像输出:4/ \7 2/ \ / \ 9 6 3 1例子 示例 1:输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]限制:0 <= 节点个数 …...

    2024/4/23 12:22:29
  11. 手写注解实现自动数据装配

    首先看看包的大致结构详细信息如下annotation:自己定义的注解 DB_factory:数据库工厂 test:测试类自定义的注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Configure {String locations(); }数据工厂,得到连接等等… 我前面的文章…...

    2024/4/20 6:07:52
  12. Python 入门之元组与字典(二)

    @R星校长 第2关:字典的使用:这份菜单可以修改 字典是 Python 最强大的数据类型之一,通过键-值对的方式建立数据对象之间的映射关系。字典的每个键-值对用冒号:分割,每个键-值对间用逗号,分隔开,字典则包含在{}中。列表格式如下: d = { key1 : value1, key2 : value2 }每个…...

    2024/5/1 8:23:23
  13. 【CCF历年题题解】201712-1 最小差值【模拟】

    观察到 n < 1000, 直接双重循环模拟即可 #include <iostream>using namespace std;const int N = 1010;int n; int a[N];int main() {cin >> n;for(int i=0;i<n;i++) cin >> a[i];int res = 1e9;for(int i=0;i<n;i++)for(int j = i + 1;j < n;j …...

    2024/4/22 6:32:35
  14. Loading class `com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is `com.mysql.cj.jdb

    spring.datasource.url=jdbc:mysql://192.168.3.113:3306/xxx?serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver修改后 spring.datasource.url=jdbc:mysql://192.168.3.1…...

    2024/3/28 3:43:04
  15. 2020-09-10【学习笔记】【主数据驱动的数据治理】七、主数据项目的运维管理

    通常情况下,主数据管理平台的日常运维组织会分为三个层级,及二级运维中心,一级运维中心、外部供应商。主数据管理平台的日常运维,涵盖如下内容:主数据模型运维管理主数据工作流运维管理主数据生命周期运维管理主数据质量运维管理主数据基础服务运维管理主数据存储运维管理…...

    2024/4/19 11:58:05
  16. Java各种数据类型各占多少字节、多少位

    在Java中一共有21138种基本数据类型,5261其中有4种整型,2种浮点类型,1种用4102于表示Unicode编码的字符单1653元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit) byte类型占8个字节; 1位 short类型占16个字节; 2位 int 类型占32个字节; …...

    2024/3/28 3:42:56
  17. 一个可以模拟数据结构的网站

    https://www.cs.usfca.edu/~galles/visualization/Algorithms.html...

    2024/4/28 4:59:20
  18. Excel2019合并两列内容单元格内容自动换行的方法

    描述:Excel2019合并两列内容单元格内容自动换行的方法 步骤:原数据示例2. 使用公式合并两列内容,=A1&CHAR(10)&B13. 选择列,开始选择自动换行...

    2024/5/2 9:30:43
  19. 电源芯片使能管脚EN的6种玩法,助力设计稳定可靠的电源

    文章目录▉ 玩法1:EN脚悬空▉ 玩法2:用CPU的GPIO控制EN管脚▉ 玩法3:EN脚通过两个分压电阻接到VIN上▉ 玩法4:EN脚通过两个分压电阻调整UVLO阈值▉ 玩法5:EN脚外部加RC延时电路▉ 玩法6:多电源协同作战▉ 更多玩法等待你们解锁本文的电源芯片指DC-DC或者LDO芯片。 EN即en…...

    2024/5/8 20:22:17
  20. c语言关键字之auto

    文章目录1.c语言中,关键字auto用于声明一个变量为自动变量2.c语言中,只使用auto修饰变量,变量的类型默认为整型3.c++中,关键字auto是一个类型说明符题目:编写一段程序,读入一段包含标点符号和空格的字符串,将标点符号和空格去除后输出字符串剩余的部分 1.c语言中,关键字…...

    2024/4/23 11:18:35

最新文章

  1. 【遥感图像】多光谱与全色图像相关知识总结

    多光谱图像&#xff08;MS&#xff09;和全色图像&#xff08;PAN&#xff09;是遥感技术中常用的两种图像类型&#xff0c;它们各自具有独特的特点和应用优势。以下是对这两种图像类型的详细解释和分析&#xff1a; 多光谱图像 (MS) 光谱分辨率&#xff1a;MS图像由多个光谱波…...

    2024/5/8 21:47:52
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. Linux mount用法

    在Linux系统中&#xff0c;系统自动挂载了以下挂载点&#xff1a; /: xfs文件系统&#xff0c;根文件系统, 所有其他文件系统的挂载点。 /sys: sysfs文件系统&#xff0c;提供内核对象的信息和接口。 /proc: proc文件系统&#xff0c;提供进程和系统信息。 /dev: devtmpfs文件系…...

    2024/5/5 8:38:45
  4. [Spring Cloud] gateway全局异常捕捉统一返回值

    文章目录 处理转发失败的情况全局参数同一返回格式操作消息对象AjaxResult返回值状态描述对象AjaxStatus返回值枚举接口层StatusCode 全局异常处理器自定义通用异常定一个自定义异常覆盖默认的异常处理自定义异常处理工具 在上一篇章时我们有了一个简单的gateway网关 [Spring C…...

    2024/5/8 1:47:24
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/8 19:32:33
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/7 22:31:36
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/8 1:37:40
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/8 20:33:13
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/8 1:37:39
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/7 16:57:02
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/7 14:58:59
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/8 20:58:56
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/7 21:15:55
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/8 1:37:35
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/7 16:05:05
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/8 18:06:50
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/8 1:37:32
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/7 16:05:05
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/8 1:37:31
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/8 1:37:31
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/8 12:44:41
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/8 9:51:44
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/8 1:37:29
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/7 17:09:45
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57