Python筑基之旅-MySQL数据库(二)

news2024/11/20 18:41:49

目录

一、第三方库

1、mysql-connector-python

1-1、由来

1-2、优缺点  

1-2-1、优点

1-2-1-1、官方支持

1-2-1-2、纯Python实现

1-2-1-3、全面支持

1-2-1-4、兼容性

1-2-1-5、易于使用

1-2-2、缺点

1-2-2-1、性能

1-2-2-2、安装

1-2-2-3、社区支持

1-2-2-4、扩展性

1-3、功能

1-3-1、数据库连接

1-3-2、SQL语句执行

1-3-3、数据类型转换

1-3-4、自动重连与事务处理

1-3-5、SSL加密连接

1-3-6、兼容性与灵活性

2、PyMySQL

2-1、由来

2-2、优缺点

2-2-1、优点

2-2-1-1、简单易用

2-2-1-2、纯Python实现

2-2-1-3、线程安全

2-2-1-4、支持大部分MySQL功能

2-2-1-5、连接池支持

2-2-2、缺点

2-2-2-1、性能

2-2-2-2、资源消耗

2-2-2-3、依赖关系

2-2-2-4、功能限制

2-2-2-5、安全性

2-3、功能

2-3-1、数据库连接

2-3-2、执行SQL语句

2-3-3、事务管理

2-3-4、数据类型转换

2-3-5、连接池

2-3-6、数据库管理

2-3-7、扩展性和灵活性

3、PeeWee

3-1、由来

3-2、优缺点

3-2-1、优点

3-2-1-1、轻量级

3-2-1-2、简单易用

3-2-1-3、支持多种数据库后端

3-2-1-4、良好的性能

3-2-1-5、与Django/Flask的集成

3-2-2、缺点

3-2-2-1、不支持自动化Schema迁移

3-2-2-2、社区支持相对较少

3-2-2-3、功能相对较少

3-3、功能

3-3-1、定义数据库模型

3-3-2、数据库连接和管理

3-3-3、执行CRUD操作

3-3-4、强大的查询构建器

3-3-5、支持多种数据库后端

3-3-6、数据迁移

3-3-7、性能优化

4、SQLAlchemy

4-1、由来

4-2、优缺点

4-2-1、优点

4-2-1-1、易用性

4-2-1-2、灵活性

4-2-1-3、对象关系映射(ORM)

4-2-1-4、查询构建器

4-2-1-5、事务管理

4-2-1-6、性能优化

4-2-1-7、扩展性

4-2-2、缺点

4-2-2-1、学习曲线

4-2-2-2、性能开销

4-2-2-3、调试困难

4-2-2-4、代码冗余

4-3、功能

4-3-1、对象关系映射(ORM)

4-3-2、查询构建器

4-3-3、关系管理

4-3-4、会话管理

4-3-5、数据库迁移

4-3-6、原生SQL支持

4-3-7、连接池

4-3-8、事件监听

4-3-9、扩展性

4-3-10、文档和社区支持

二、推荐阅读

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

一、第三方库

1、mysql-connector-python

1-1、由来

        mysql-connector-python是Oracle官方提供的用于Python连接到MySQL数据库的库,它的由来主要是为了提供一个官方的、纯Python实现的MySQL客户端,使Python开发者能够方便地连接到MySQL数据库并执行各种数据库操作,如查询、插入、更新和删除等。

        随着Python的普及和MySQL数据库的广泛使用,许多Python开发者需要一种方式来与MySQL数据库进行交互,mysql-connector-python就是为了满足这一需求而诞生的,它遵循Python DB-API 2.0 规范(PEP 249),这意味着它提供了与其他数据库连接库相似的接口和功能,使得开发者可以更容易地使用它,而无需重新学习新的API。

        mysql-connector-python提供了全面的功能来连接、查询和管理MySQL数据库,它支持多种连接方式,包括TCP/IP、Unix套接字以及命名管道;此外,它还支持SSL加密连接,确保了数据传输的安全性;在数据类型转换方面,驱动自动将Python对象(如字符串、整数和日期)转化为对应的MySQL数据类型,并将数据库返回的结果转化为Python对象,简化了数据操作。

        总之,mysql-connector-python库的由来是为了提供一个官方的、纯Python实现的MySQL客户端库,以满足Python开发者与MySQL数据库进行交互的需求。

1-2、点  

        mysql-connector-python是Oracle官方提供的Python连接MySQL数据库的库,其主要的优缺点如下:

1-2-1、优点
1-2-1-1、官方支持

        由于这是Oracle官方提供的库,因此可以确保它与MySQL数据库的兼容性和稳定性,这也意味着它通常会比第三方库获得更早的更新和修复。

1-2-1-2、纯Python实现

        mysql-connector-python是用纯Python编写的,这意味着它不需要任何外部依赖(除了Python本身和MySQL客户端库)即可运行,这使得它在不同的操作系统和环境中都能很好地工作,减少了安装和配置的复杂性。

1-2-1-3、全面支持

        它支持大多数MySQL特性,包括事务处理、存储过程、游标等,此外,它还支持SSL加密连接,以确保数据传输的安全性。

1-2-1-4、兼容性

        它不仅与MySQL兼容,还与其他MySQL兼容的数据库(如MariaDB、Percona Server等)兼容,这使得它可以在更广泛的环境中使用。

1-2-1-5、易于使用

        它遵循Python DB-API 2.0 规范(PEP 249),这使得它与其他Python数据库连接库具有相似的接口和功能,这使得开发者可以更容易地使用它,而无需重新学习新的API。

1-2-2、缺点
1-2-2-1、性能

        由于mysql-connector-python是用纯Python编写的,因此在某些情况下,它的性能可能不如使用C或C++编写的其他库(如 MySQLdb 或 PyMySQL),然而,在大多数情况下,这种性能差异可能并不明显。

1-2-2-2、安装

        虽然mysql-connector-python本身不需要任何外部依赖即可安装,但它可能需要安装MySQL 客户端库才能正常工作,在某些操作系统中,这可能需要额外的步骤或配置。

1-2-2-3、社区支持

        与一些流行的第三方库相比,mysql-connector-python的社区可能较小,这可能导致在寻求帮助或解决问题时,可用的资源和支持较少。

1-2-2-4、扩展性

        在某些高级功能上,mysql-connector-python不如ORM(对象关系映射)库(如SQLAlchemy)强大或灵活,ORM库提供了更高级的数据访问和操作功能,以及更强大的查询构建和对象映射功能。

        注意,以上优点和缺点都是相对的,并且可能因具体情况而异,在选择使用哪个Python MySQL库时,应根据自己的项目需求、环境要求和偏好进行评估和选择。

1-3、功能

        mysql-connector-python是一个纯Python实现的MySQL客户端库,它提供了与MySQL数据库进行交互的多种功能,其主要功能有:

1-3-1、数据库连接

        mysql-connector-python支持多种连接方式,包括TCP/IP、Unix套接字以及命名管道,允许Python程序与MySQL数据库建立连接。

1-3-2、SQL语句执行

        它支持执行各种SQL语句,包括数据查询(SELECT)、数据插入(INSERT)、数据更新(UPDATE)和数据删除(DELETE)等操作,从而实现对MySQL数据库的全面操作。

1-3-3、数据类型转换

        mysql-connector-python能够自动处理Python数据类型与MySQL数据类型之间的转换,简化了数据操作,驱动会自动将Python对象(如字符串、整数和日期)转化为对应的MySQL数据类型,并将数据库返回的结果转化为Python对象。

1-3-4、自动重连与事务处理

        当网络中断或服务器重启时,mysql-connector-python可以自动重新建立连接,保证操作的连续性;同时,它支持事务处理,可以按需控制原子性和一致性。

1-3-5、SSL加密连接

        mysql-connector-python支持SSL加密连接,确保了数据传输的安全性。

1-3-6、兼容性与灵活性

        mysql-connector-python兼容Python 2.7以及3.x版本,并且遵循DB-API 2.0规范(PEP 249),提供了灵活的API供开发者使用。

        总的来说,mysql-connector-python是一个功能强大、易于使用且灵活的MySQL客户端库,为Python开发者提供了与MySQL数据库进行交互的便利工具。

2、PyMySQL

2-1、由来

        PyMySQL是一个在Python 3.x版本中用于连接MySQL服务器的第三方库,它的由来可以追溯到Python和MySQL这两种技术的融合需求。

        首先,Python是一种广泛使用的编程语言,以其简洁、易读和强大的功能而受到开发者的喜爱,而MySQL则是一种流行的关系型数据库管理系统,用于存储和管理大量的数据。在软件开发过程中,经常需要将Python与MySQL进行连接,以实现数据的存储、查询和更新等功能。

        然而,Python标准库中并没有直接支持MySQL的库,这就需要在Python和MySQL之间进行桥梁的构建。为了解决这一问题,一些开发者开始开发能够连接Python和MySQL的第三方库,其中PyMySQL就是其中之一。

        PyMySQL遵循Python数据库API v2.0规范,并包含了纯Python的MySQL客户端库,它提供了与MySQL数据库进行交互的接口,使得Python开发者可以方便地使用Python语言来操作MySQL数据库。

        因此,PyMySQL的由来可以看作是Python和MySQL技术融合的需求推动下的产物,它的出现为Python开发者提供了与MySQL数据库进行交互的便利工具。

2-2、

        PyMySQL作为Python连接MySQL数据库的第三方库,其主要的优缺点如下:

2-2-1、优点
2-2-1-1、简单易用

        PyMySQL提供了简单易用的API,使得Python开发者可以方便地进行数据库的连接和操作,它遵循Python DB-API 2.0规范,因此与其他数据库库相比,其使用方式非常相似。

2-2-1-2、纯Python实现

        PyMySQL是纯Python编写的库,不需要任何C语言的依赖项,这意味着它可以在Python的各个平台上运行,无需担心平台兼容性问题。

2-2-1-3、线程安全

        PyMySQL是线程安全的,可以在多线程环境中安全地使用,这对于需要处理并发连接的Web应用程序来说非常重要。

2-2-1-4、支持大部分MySQL功能

        PyMySQL支持大部分MySQL的SQL语法和功能,包括事务、存储过程等,这使得开发者可以使用PyMySQL来执行复杂的数据库操作。

2-2-1-5、连接池支持

        虽然PyMySQL本身不提供连接池,但它可以与其他连接池库(如DBUtils)一起使用,以提供更高效、更稳定的数据库连接。

2-2-2、缺点
2-2-2-1、性能

        在某些情况下,与MySQL的原生C语言客户端相比,PyMySQL的性能可能会稍逊一筹,特别是在处理大量数据或执行复杂查询时,可能会遇到性能瓶颈。

2-2-2-2、资源消耗

        由于PyMySQL是纯Python编写的,因此在运行时可能会消耗更多的CPU和内存资源,这可能会对大型应用程序或服务器的性能产生负面影响。

2-2-2-3、依赖关系

        虽然PyMySQL不依赖于C语言库,但它可能依赖于其他Python库或模块,这些依赖关系可能会增加部署和管理的复杂性。

2-2-2-4、功能限制

        虽然PyMySQL支持大部分MySQL的功能,但它可能不支持某些高级特性或优化选项,这可能会限制其在某些特定场景下的应用。

2-2-2-5、安全性

        在使用PyMySQL时,需要确保正确地处理数据库连接和凭据信息,以防止潜在的安全风险。例如,未加密的连接可能会暴露敏感数据给潜在的攻击者。

        注意,这些优点和缺点可能会因应用程序的具体需求和上下文而有所不同,在选择使用PyMySQL时,应根据实际情况进行权衡和决策。

2-3、功能

        PyMySQL是一个Python编写的MySQL客户端库,它提供了与MySQL数据库进行交互的多种功能,其主要功能有:

2-3-1、数据库连接

        PyMySQL允许Python程序与MySQL数据库建立连接,从而进行后续的数据操作。

2-3-2、执行SQL语句

        PyMySQL支持执行各种SQL语句,包括数据查询(SELECT)、数据插入(INSERT)、数据更新(UPDATE)和数据删除(DELETE)等操作。

2-3-3、事务管理

        PyMySQL提供了事务管理的功能,允许开发者在数据库操作中执行多个操作作为一个工作单元,要么全部完成,要么全部不完成。

2-3-4、数据类型转换

        PyMySQL能够自动处理Python数据类型与MySQL数据类型之间的转换,使开发者无需关心数据类型的差异。

2-3-5、连接池

        连接池是管理和复用数据库连接的一种技术,PyMySQL支持连接池功能,可以提高数据库操作的效率和性能。

2-3-6、数据库管理

        除了基本的数据操作外,PyMySQL还支持一些数据库管理相关的任务,如创建或删除数据库、创建或删除数据表、创建或删除索引等。

2-3-7、扩展性和灵活性

        PyMySQL是一个高度可定制和可扩展的库,开发者可以根据需要扩展其功能或修改其行为。

        总之,PyMySQL是一个功能强大、易于使用且灵活的MySQL客户端库,它为Python开发者提供了与MySQL数据库进行交互的便利工具。

3、PeeWee

3-1、由来

        Peewee是一个基ORM(对象关系映射)的Python库,由美国软件工程师Charles Leifer于2010年10月开发。ORM是一种编程方法,它允许程序员在面向对象编程语言中,在不兼容的类型系统之间转换数据。Peewee库的主要功能是为Python开发者提供一个轻量级、易用的方式来与数据库进行交互,它支持SQLite、MySQL、PostgreSQL和Cockroach等数据库。

        Peewee库的设计目标是提供一种简单、直观的方式来处理数据库操作,同时保持其灵活性,使得开发者可以根据自己的需求进行定制;Peewee库在Python社区中得到了广泛的应用和认可,成为了许多Python项目的首选数据库操作库之一。

3-2、

        PeeWee库作为一个轻量级的ORM框架,在Python社区中受到了一定的欢迎,其主要优缺点有:

3-2-1、优点
3-2-1-1、轻量级

        PeeWee占用资源少,非常适合小型应用、原型设计或快速开发场景,它易于集成到各种Python项目中,不会给项目带来过多的依赖和复杂性。

3-2-1-2、简单易用

        PeeWee提供了简洁而直观的API,使得与数据库进行交互变得简单和直观,它有很好的文档和示例,便于开发人员快速上手。对于初学者来说,使用PeeWee可以更容易地理解和掌握ORM的概念和用法。

3-2-1-3、支持多种数据库后端

        PeeWee支持多种常见的数据库后端,如SQLite、MySQL、PostgreSQL等,这使得开发人员可以根据项目需求选择适合的数据库,提高了项目的灵活性。

3-2-1-4、良好的性能

        PeeWee在处理大量数据时表现出色,具有良好的性能,这使得它在处理复杂数据库操作时能够保持较高的效率。

3-2-1-5、与Django/Flask的集成

        PeeWee可以与Django或Flask等Web框架集成,提供了更大的灵活性。虽然这些框架都提供了自己的ORM,但PeeWee的集成使得开发者可以根据个人喜好选择使用不同的ORM。

3-2-2、缺点
3-2-2-1、不支持自动化Schema迁移

        与其他一些ORM框架相比,PeeWee不支持自动化Schema迁移,这意味着开发者需要手动编写代码来处理数据库表结构的变更,这可能会增加一些额外的工作量。

3-2-2-2、社区支持相对较少

        与其他流行的ORM框架(如Django ORM、SQLAlchemy等)相比,PeeWee的社区支持相对较少,这可能会使得在遇到问题时难以找到解决方案或获取帮助。

3-2-2-3、功能相对较少

        虽然PeeWee提供了基本的ORM功能,但与其他一些功能更丰富的ORM框架相比,它的功能相对较少,这可能会限制它在一些复杂项目中的应用。

        注意,以上优缺点是基于一般情况的概述,并不能完全代表所有使用PeeWee库的项目和开发者都会遇到相同的问题,在选择使用PeeWee之前,建议根据项目需求和个人偏好进行权衡和评估。

3-3、功能

        Peewee库是一个轻量级的Python对象关系映射(ORM)库,用于在Python应用程序中与数据库进行交互,它提供了许多有用的功能,使数据库操作变得更加简单和高效。以下是Peewee库的主要功能:

3-3-1、定义数据库模型

        使用Peewee库,你可以通过定义Python类来定义数据库中的表结构和字段,这使得数据结构和关系更容易管理,同时也提高了代码的可读性和可维护性。


3-3-2、数据库连接和管理

        Peewee提供了用于连接和管理数据库的功能,你可以指定数据库引擎、主机、端口、用户名、密码等信息来连接到数据库,一旦连接建立,你就可以执行各种数据库操作。

3-3-3、执行CRUD操作

        Peewee提供了用于执行创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作的方法,你可以使用这些方法轻松地插入新数据、查询数据、更新数据和删除数据。

3-3-4、强大的查询构建器

        Peewee提供了一个强大的查询构建器,允许你以自然的方式构建复杂的数据库查询,你可以使用条件、排序、限制和连接等操作来精确地获取所需的数据,这使得查询过程更加直观和易于理解。

3-3-5、支持多种数据库后端

        Peewee支持多种关系型数据库后端,包括SQLite、MySQL、PostgreSQL等,这使得你可以根据项目需求选择适合的数据库,同时也为数据库的迁移和扩展提供了方便。

3-3-6、数据迁移

        Peewee支持数据库迁移,能够轻松地更新数据库模型和结构,这使得在数据库模式发生变化时,能够轻松地更新数据库并保持数据的完整性。

3-3-7、性能优化

        Peewee经过精心设计,以确保在处理大量数据时也能保持高性能,它采用了多种优化策略,如缓存查询结果、减少数据库访问次数等,以提高数据库操作的效率。

        除了上述主要功能外,Peewee还提供了其他一些有用的功能,如事务管理、关系处理、索引和约束等,这些功能使得Peewee成为一个功能强大且易于使用的工具,适用于各种类型的Python项目。

4、SQLAlchemy

4-1、由来

        SQLAlchemy是Python编程语言下的一款开源软件,由迈克尔·拜尔(Michael Bayer)等人开发,它首次发行于2006年2月,并迅速成为Python社区中最广泛使用的ORM(对象关系映射)工具之一。

        SQLAlchemy的主要目标是采用简单的Python语言,为高效和高性能的数据库访问设计,实现完整的企业级持久模型,通过SQLAlchemy,用户能够轻松地连接到各种关系型数据库(如MySQL),并对其中的数据表结构进行操作,包括创建、修改和查询数据库表。此外,SQLAlchemy还提供了丰富的数据类型和操作方法,方便用户以面向对象的方式操作数据库中的数据。

        总之,SQLAlchemy作为Python编程语言下的一款重要第三方库,其由来可以追溯到其创始人迈克尔·拜尔等人的努力,以及Python社区对高效、高性能数据库访问需求的不断追求。

4-2、

        SQLAlchemy库作为Python中广泛使用的对象关系映射(ORM)工具,其主要的优缺点有:

4-2-1、优点
4-2-1-1、易用性

        SQLAlchemy提供了简洁易懂的API,使得开发者能够轻松地定义数据库模型、执行查询和更新操作。

4-2-1-2、灵活性

        SQLAlchemy支持多种数据库后端,包括MySQL、PostgreSQL、SQLite等,并提供了大量的配置选项,允许开发者根据自己的需求定制数据库访问层。

4-2-1-3、对象关系映射(ORM)

        ORM使得开发者能够用Python对象直接表示和操作数据库中的记录,无需编写大量的SQL语句,这大大提高了开发效率,并降低了出错的可能性。

4-2-1-4、查询构建器

        SQLAlchemy提供了强大的查询构建器,允许开发者以Pythonic的方式构建复杂的SQL查询,这使得查询语句更加直观、易于理解和维护。

4-2-1-5、事务管理

        SQLAlchemy内置了事务管理机制,使得开发者能够轻松地管理数据库事务,确保数据的完整性和一致性。

4-2-1-6、性能优化

        虽然ORM通常被认为在性能上不如原生SQL,但SQLAlchemy通过缓存、延迟加载等机制,以及支持原生SQL语句的执行,可以在一定程度上优化性能。

4-2-1-7、扩展性

        SQLAlchemy支持扩展和插件机制,允许开发者根据自己的需求定制和扩展其功能。

4-2-2、缺点
4-2-2-1、学习曲线

        虽然SQLAlchemy提供了丰富的功能和灵活的配置选项,但这也意味着它的API较为复杂,学习曲线相对陡峭,初学者可能需要花费一些时间来熟悉和掌握其用法。

4-2-2-2、性能开销

        与原生SQL相比,ORM通常会有一定的性能开销,这是因为ORM需要在Python对象和数据库记录之间进行映射和转换,对于大数据量和高并发的应用场景,这可能会成为瓶颈。

4-2-2-3、调试困难

        由于ORM将数据库操作封装在Python对象中,因此在调试时可能会遇到一些困难,开发者需要熟悉ORM的内部机制和SQL语句的执行过程,以便找到并解决问题。

4-2-2-4、代码冗余

        在某些情况下,使用ORM可能会导致代码冗余。例如,当需要频繁执行相同的SQL查询时,直接使用原生SQL语句可能更加简洁和高效。

        注意,以上优缺点并非绝对,它们可能会因具体的应用场景和团队需求而有所不同,在选择是否使用SQLAlchemy时,需要根据项目的实际情况进行权衡和考虑。

4-3、功能

        SQLAlchemy库是一个功能强大的SQL工具包和对象关系映射(ORM)系统,用于Python应用程序,它提供了一套完整的解决方案,使开发者能够使用Python类和数据库表进行交互,而无需编写大量的SQL代码,其主要功能有:

4-3-1、对象关系映射(ORM)

        SQLAlchemy允许开发者定义Python类,这些类会映射到数据库中的表,开发者可以使用Python类的实例来代表数据库表中的行,并通过这些实例来查询、更新和删除数据。ORM系统还负责处理Python数据类型和数据库数据类型之间的转换。

4-3-2、查询构建器

        SQLAlchemy提供了一个查询构建器API,允许开发者以Pythonic的方式构建SQL查询,查询可以包括各种条件、排序、分组、连接等操作,并且可以通过链式调用方法来构建复杂的查询。

4-3-3、关系管理

        SQLAlchemy支持数据库中的各种关系,如一对一、一对多和多对多关系,开发者可以在Python类之间定义这些关系,并通过这些关系来执行跨表的查询和更新操作。

4-3-4、会话管理

        SQLAlchemy使用会话(Session)对象来管理数据库连接和事务,会话对象提供了一个暂存区,用于存储待提交的更改,并允许开发者在单个事务中执行多个操作,提交会话将更改应用到数据库,而回滚会话将撤销待提交的更改。

4-3-5、数据库迁移

        SQLAlchemy提供了Alembic这样的扩展库,用于处理数据库迁移,开发者可以使用Alembic来定义数据库模型的版本,并在模型发生更改时生成和执行迁移脚本,以更新数据库结构。

4-3-6、原生SQL支持

        虽然SQLAlchemy的主要目标是提供ORM功能,但它也支持直接执行原生SQL语句,开发者可以使用SQLAlchemy的引擎(Engine)对象来执行SQL语句,并获取结果。

4-3-7、连接池

        SQLAlchemy提供了连接池功能,用于管理和复用数据库连接,连接池可以提高应用程序的性能和响应速度,并减少与数据库建立连接的开销。

4-3-8、事件监听

        SQLAlchemy支持事件监听机制,允许开发者在数据库操作的不同阶段注册回调函数,这些回调函数可以在对象加载、保存、删除等操作时执行自定义逻辑。

4-3-9、扩展性

        SQLAlchemy具有高度的可扩展性,支持各种扩展和插件,开发者可以使用扩展库来增强SQLAlchemy的功能,如支持全文搜索、JSON字段等。

4-3-10、文档和社区支持

        SQLAlchemy拥有完善的文档和活跃的社区支持,开发者可以方便地查找解决问题的方法和与其他开发者交流经验。

二、推荐阅读

1、Python函数之旅

2、Python算法之旅

3、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1686823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows神级工具汇总

Windows神级工具汇总 文章目录 Windows神级工具汇总ConEmu(Cmder)TortoiseGitListary & everythingBeyond CompareDittof.luxTranclucentTBSyncToyMaximaTyporaKeePass 2VeraCryptTexLive & TeXstudio & MathpixmybaseSeafile8gadgetpack电脑…

基于RK3588的AI边缘计算网关设计

随着物联网和人工智能技术的飞速发展,边缘计算逐渐成为数据处理和分析的重要趋势。RK3588作为一款高性能的处理器,具备强大的计算能力和丰富的接口,为构建AI边缘计算网关提供了有力的支持。本文将介绍基于RK3588的AI边缘计算网关设计&#xf…

数据结构与算法-树-二分搜索树(二)

二叉树节点删除的几种情况 今天我们研究一下二叉搜索树(BST)的删除操作。删除操作对树来讲有些复杂,包含以下场景: 删除点是叶节点删除点非叶节点,只有左子树删除点非叶节点,只有右子树删除点非叶节点,既有左子树又有右…

面试-软件工程与设计模式相关,Spring简介

面试-软件工程与设计模式相关,Spring简介 1.编程思想1.1 面向过程编程1.2 面向对象编程1.2.1 面向对象编程三大特征 1.3 面向切面编程1.3.1 原理1.3.2 大白话?1.3.3 名词解释1.3.4 实现 2. 耦合与内聚2.1 耦合性2.2 内聚性 3. 设计模式3.1 设计模型七大原…

【排序算法】堆排序(Heapsort)

✨✨✨专栏:排序算法 🧑‍🎓个人主页:SWsunlight 目录 ​编辑 前言: 一、堆排序: 时间复杂度: 空间复杂度: 算法稳定性: 二、升序的实现:通过建大堆实…

《Effective Objective-C 2.0》读书笔记——接口与API设计

目录 第三章:接口与API设计第15条:用前缀避免命名空间冲突第16条:提供“全能初始化方法”第17条:实现description方法第18条:尽量使用不可变对象第19条:使用清晰而协调的命名方式第20条:为私有方…

中国真人认证的相亲交友恋爱平台有哪些?测评5款高质量婚恋脱单软件

不少朋友都表示自己的社交圈子过于狭窄,朋友也没几个,那今天就来聊聊我是通过何种平台找到对象的。我与男朋友是在网络上相识的,许多朋友同样也是通过网络来相亲。不过我们的成功,真的真的不能表明网络上全都是好人,各…

你不知道的C语言知识(第2期)

本期介绍🍖 主要介绍:C语言中一些大家熟知知识点中的盲区,这是第二期。 文章目录 1. 一维数组在内存中的存储方式2. sizeof计算数组元素的个数3. 二维数组3.1 概念3.2 二维数组在内存中的存储3.3 初始化省略行,但不能省略列 4. 变…

【Python】 去除字符串中的所有空白字符

基本原理 在Python中,字符串(String)是不可变的数据类型,这意味着一旦创建了一个字符串,就不能修改它的内容。然而,我们可以创建一个新的字符串,它包含原始字符串中的字符,但不包含…

入门四认识HTML

一、HTML介绍 1、Web前端三大核心技术 HTML&#xff1a;负责网页的架构 CSS&#xff1a;负责网页的样式、美化 JS&#xff1a;负责网页的行动 2、什么是HTML HTML是用来描述网页的一种语言。 3、Html标签 单标签<html> 双标签<h>内容</h> 4、标…

Visual Studio 下的Qt工程无法打开 “xxx.ui“ 文件和LNK1104 无法打开文件“Qt5Cored.lib”错误

一、问题&#xff1a; VS下Qt环境准备好后&#xff0c;创建了Qt工程然后点击 Form Files 下的 “xxx.ui” 文件&#xff0c;在弹出 Qt 设计师 界面后闪退并显示如下错误&#xff1a; 二、解决 1、工具栏处依次点击&#xff1a;扩展 一> Qt VS Tools 一> options 弹出选…

在windows下dat文件转mat

环境配置 需要安装hdf5库&#xff0c;参考https://blog.csdn.net/qq_36314864/article/details/139168631 代码下载 https://download.csdn.net/download/qq_36314864/89349060 为了支持大文件的.dat文件转换&#xff0c;我们需要考虑如何处理大量数据以避免内存不足的问题…

利用kubeadm安装k8s集群 以及跟harbor私有仓库下载镜像

目录 环境准备 master&#xff08;2C/4G&#xff09; 192.168.88.3 docker、kubeadm、kubelet、kubectl、flannel node01&#xff08;2C/2G&#xff09; 192.168.88.4 docker、kubeadm、kubelet、kubectl、flannel node02&#xff08;…

docker 安装 yapi

文章目录 docker 安装 yapi一、拉取镜像二、创建目录三、添加配置文件四、初始化数据库表五、启动 yapi六、测试以及修改默认密码 没有 MongDB 的可以先看这个教程&#xff1a;MongDB安装教程 docker 安装 yapi 版本&#xff1a; 1.9.5 一、拉取镜像 docker pull yapipro/y…

ClickHouse课件

列式存储数据库&#xff1a;hbase clickhouse 简介 ClickHouse入门 ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用C语言编写&#xff0c;主要用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用…

Python中文分词工具库之jieba使用详解

概要 在自然语言处理(NLP)领域,中文文本的分词是一个重要且基础的任务。Python的jieba库是一个广泛使用的中文分词工具,提供了丰富的功能,包括精准模式、全模式、搜索引擎模式等,适用于不同的应用场景。本文将详细介绍jieba库,包括其安装方法、主要特性、基本和高级功能…

Spark累加器

1. 累加器 累加器&#xff1a;分布式共享只写变量 考虑如下计算RDD中数据的和&#xff1a; val rdd sc.makeRDD(List(1, 2, 3, 4))var sum 0 rdd.foreach(num > {sum num} )println("sum " sum) 预期结果10&#xff0c;但其实不是 foreach里面的函数是在…

rtemis 包:多种机器学习算法集成!兼顾数据处理与可视化美图

rtemis 是一个集机器学习与可视化于一体的 R 包&#xff0c;用于各种高级机器学习研究和应用。整体而言&#xff0c;该软件有三个目标&#xff1a; 「应用数据科学」&#xff1a;使高级数据分析高效且易于使用 「机器学习研究」&#xff1a;提供一个平台以开发和测试新颖的机器…

添加、修改和删除列表元素

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 添加、修改和删除列表元素也称为更新列表。在实际开发时&#xff0c;经常需要对列表进行更新。下面我们介绍如何实现列表元素的添加、修改和删除。 …

深度学习之使用Matlab乳腺癌分类检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 乳腺癌作为女性最常见的恶性肿瘤之一&#xff0c;对女性的健康构成了严重威胁。乳腺癌的早期发…