南修子|set和map

set分为可变和不可变

在这里插入图片描述

可变set

在这里插入图片描述

不可变set

在这里插入图片描述

map

在这里插入图片描述

可变map

在这里插入图片描述

不可变map

map的默认的是不可变的

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
JS中的SetMap都是ES6引入的新数据类型,下面是它们的区别和用法: 1. Set Set是一种无序且唯一的集合,它的成员都是唯一的,没有重复的值。Set的主要作用是去重和数组去重一样,但是它比数组去重更加高效。 Set的常用方法有: - add(value):向Set实例添加一个值,返回Set实例本身。 - delete(value):从Set实例中删除一个值,返回一个布尔值,表示删除是否成功。 - has(value):判断Set实例中是否包含某个值,返回一个布尔值。 - clear():清空Set实例,没有返回值。 - size:返回Set实例的成员总数。 示例代码: ```javascript const set = new Set([1, 2, 3, 2, 1]); set.add(4).add(5); console.log(set); // Set(5) {1, 2, 3, 4, 5} set.delete(4); console.log(set); // Set(4) {1, 2, 3, 5} console.log(set.has(2)); // true console.log(set.size); // 4 set.clear(); console.log(set); // Set(0) {} ``` 2. Map Map是一种键值对的集合,和Object类似,但是Map的键可以是任何类型,而且Map中的键值对是有序的。Map的主要作用是存储和查找数据,以键值对的形式存储数据。 Map的常用方法有: - set(key, value):向Map实例添加一个键值对,返回Map实例本身。 - get(key):获取Map实例中指定键对应的值,如果不存在则返回undefined。 - delete(key):从Map实例中删除指定键值对,返回一个布尔值,表示删除是否成功。 - has(key):判断Map实例中是否包含某个键,返回一个布尔值。 - clear():清空Map实例,没有返回值。 - size:返回Map实例的键值对总数。 示例代码: ```javascript const map = new Map([ ['name', '张三'], ['age', 18] ]); map.set('gender', '男').set('age', 20); console.log(map); // Map(3) {"name" => "张三", "age" => 20, "gender" => "男"} console.log(map.get('name')); // "张三" map.delete('gender'); console.log(map); // Map(2) {"name" => "张三", "age" => 20} console.log(map.has('age')); // true console.log(map.size); // 2 map.clear(); console.log(map); // Map(0) {} ``` 总结:SetMap都是ES6引入的新数据类型,它们可以很好地解决一些问题,如去重和存储数据等。Set适合存储一组不重复的数据,而Map适合存储一组键值对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南修子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值