Python的推导式、迭代器和生成器
Python推导式
列表推导式: [expression for item in iterable]
集合推导式: {expression for item in iterable}
字典推导式:
{key_expression: value_expression for item in iterable}
item是一个变量,用于遍历iterable中的元素
1234567891011121314#列表推导式:list_com = [x**2 for x in range(10) if x**2 < 40]list_com# [0, 1, 4, 9, 16, 25, 36]#集合推导式 ,代表什么意思set_com = {x**2 if x**2 % 2==0 else x**2 + 1 for x in range(10)}set_com# {0, 2, 4, 10, 16, 26, 36, 50, 64, 82}#字典推导式dict_com = {x:...
Python的数据类型
Python的数据类型
数值(Numbers)
字符串(String)
元组(Tuple)
列表(List)
集合(Set)
字典(Dictionary)
……
其他数据类型
字节类型(Bytes):b’Hello’
字节数组(Byte Arrays): bytearray(b’Hello’)
空类型(None):没有返回的函数值
未执行的(NotImplemented):在运算时,对象不支持,返回该值
省略号(Ellipsis):用于Numpy的切片或者表示无限循环
Python数据类型-数值型
Python数值型介绍
整型(int):123
布尔型(bool):False(0)、True(1)
浮点型(float):123.04
复数型(complex):3 + 7j、real +...
Python的浅复制与深复制
Python的浅复制与深复制
对于不可变对象来说,因其值不可变,复制一个副本对它的作用不大。但对于可变对象来说,因其值可变,很多时候复制一个副本可以保存它未改变前的值,用来做对比或者做数据备份。
创建一个副本,这里涉及到浅复制和深复制。
浅复制与深复制的构造方法
首先都需要导入copy模块
浅复制:copy.copy(x)
深复制:copy.deepcopy(x)
其中浅复制还可以用切片实现:
例如:a = [1,2,3] ; aa = a[:]
浅复制与深复制的区别
浅复制:复制内层容器时不会单独开辟空间,而是引用原来的地址。
深复制:复制内层不可变的容器时不会单独开辟空间,引用其原地址;若是内层可变的容器,则会单独开辟空间
容器:
可以在里面装下多个元素的,可以用in,...
Python基础部分
...
数据库相关概念与DBMS特色
数据库相关概念
数据管理
image-20250512195115041
数据:能够被记录且具有实际含义的已知事实
大数据
元数据:描述数据的数据
数据库管理系统 DBMS
image-20250512195253000
数据库与文件系统的对比:
文件系统
数据库
定义
管理存储磁盘上数据的存储、访问和管理方式的过程
可以轻松存储、访问、管理和更新的有组织的数据集合
数据一致性
数据不一致性高
维护数据一致性
结构
简单
复杂
数据共享
困难
容易
冗余
冗余度高
冗余度低
安全性
不是很安全
更加安全
备份与恢复
没有备份和恢复过程
有备份恢复过程
数据库系统...
Hibernate的其他API以及HQL查询.md
Hibernate的其他API
Query
Query接口让你方便地对数据库及持久对象进行查询,它可以有两种表达方式:HQL语言或本地数据库的SQL语句。
HQL:Hibernate Query Language
:Hibernate查询语言。这种语言与SQL的语法及其类似,是一个面向对象的查询语言。
SQL的操作对象是数据表、列等数据库对象,而HQL操作对象是类、对象、属性等。
Query 接口用来执行 HQL,Query 接口实例可以从 Session 对象 session
中生成:session.createQuery(String hql)
12345// HQL 查询Query<Student> hqlQuery = session.createQuery("FROM Student WHERE age > :age", Student.class);// 原生 SQL 查询Query<Student> sqlQuery = session.createNativeQuery("SELECT...
Hibernate框架之事务控制
事务概述
Hibernate是对JDBC的轻量级封装,其主要功能是操作数据库。在操作数据库过程中,经常会遇到事务处理的问题,接下来就来介绍Hibernate中的事务管理。
事务的并发问题
在实际应用过程中,数据库是要被多个用户所共同访问的。在多个事务同时使用相同的数据时,可能会发生并发的问题,具体如下:
脏读:一个事务读取到另一个事务未提交的数据。
不可重复读:一个事务读到了另一个事务已经提交的update的数据,导致在同一个事务中的多次查询结果不一致。
虚读/幻读:一个事务读到了另一个事务已经提交的insert的数据,导致在同一个事务中的多次查询结果不一致。
事务的隔离级别
为了避免事务并发问题的发生,在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同。
读未提交(Read...
galgame妹妹推荐转自七海妹
有群友希望我转载这个,那我就转载了
更新时间 2021·12·23 更新内容:推妹妹破百,初代表格诞生
前排提醒:仅为群名~“七海妹”个人主观意见,如有与你不和者,就无视我,没必要争吵。本人一年游玩时间,耗时30小时制作而成,难免有失误,还请告知我更改。本人主看重妹妹,不对作品本身评价,所以废萌评分会高一点。
更新时间 2022·7·26晚
更新内容1:重置评分系统,由原来的SS<SS+<SSS-<SSS 更改成
S<SA<SX<SS<=SAAA<=SSA<SSS
更新内容2:增加50位妹妹,其中15名生肉,1名不能攻略
更新内容3:加入鼠标放在妹妹名字上显示立绘功能 更新耗时25小时
更新时间 2023·1·27下午
更新内容1:添加妹妹、兄妹、妹线这三个评价(等级为:稀烂、拉跨、不太行、凑合、一般、还行、良好
、不错、优秀、极好、完美)...
Java难绷知识05--Swing中的事件调度线程和资源释放
Swing中的事件调度线程
先了解一下Swing中的单线程模型
单线程模型有什么作用
虽然大伙认为Swing又丑又落后(但是我编写gui入门真的是从Swing开始)
Swing 最初设计是单线程模型,这意味着所有与 Swing
组件交互的代码都应该在同一个线程中执行。
单线程模型避免了 Swing
组件可能因为会多个线程同时访问和修改而导致数据不一致或界面闪退等问题
而且单线程模型使得开发者无需处理复杂的线程同步问题,这是保持页面一致性的重要原因,同一时间只有一个线程可以操作组件,正常思维去调度下不会出现部分界面更新而其他部分未更新的情况。
但是单线程模型会造成一个迟钝的API。为了达到单线程模型,有一个专门的线程用于和Swing组件交互,就是Swing事件调度线程(Event
DispatchThread,EDT)。
如果对单线程模型线程不清楚,可能在打造响应式界面和其他更多的扩展应用上会出很多问题。
为什么要了解事件调度线程(EDT)
因为,EDT 是 Swing 单线程模型的核心
在Swing中,所有与...
个人总结的Java技术栈路线-持续更新
Java SE部分
基础语法
变量与数据类型:基本数据类型(byte、short、int、long、float、double、char、boolean),引用数据类型(类、接口、数组、字符串等),变量的声明、初始化和作用域。
运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符等。
流程控制:顺序结构、选择结构(if - else、switch -
case)、循环结构(for、while、do - while),以及 break、continue
关键字的使用。
方法:方法的定义、参数传递、返回值,方法的重载和递归调用。
数组:一维数组和多维数组的声明、初始化、遍历和常用操作。
面向对象编程
类与对象:类的定义,对象的创建和使用,构造方法,this
关键字。
封装:访问修饰符(public、private、protected、默认),成员变量的封装和访问控制。
继承:继承的概念,extends...