
Python 教程
文章平均质量分 63
首先,要学习Python,你需要先了解它的基础语法——变量,数据类型,运算符等等。这些知识可以在Python官方网站上的入门教程中找到。别急,没学过也没关系,网上有很多Python的教程,你可以随时查阅。
💡接下来,我会告诉你Python的一些优点
Q shen
分享
展开
-
Python 中的 pass 语句
在上面的示例中,我们对堆栈数据结构的外观进行了原型设计,包括它将包含的方法。pass 语句在使用函数和类时非常有用,因为它允许您定义函数或类的结构,而无需实际实现其功能。例如,如果您创建一个类并想要定义其方法,则可以使用pass类定义中的语句来最初定义方法的位置,而无需实际实现它们。在上面的例子中,我们有一个循环来打印从 0 到 9 的奇数,我们在块pass 内使用了语句if ,这样如果数字是偶数,则循环简单地“什么都不做”,而如果数字是奇数,则得到打印到控制台。请考虑以下带有 pass 语句的示例。原创 2024-04-21 09:30:00 · 94 阅读 · 0 评论 -
Python 中的异步/等待
协程就像常规函数一样,具有在特定点暂停和恢复执行的附加功能。这允许非阻塞行为,在出现延迟的情况下可以暂停协程的执行,或者在恢复执行之前故意允许其他代码运行。协程与生成器函数密切相关。事实上,在 Python 3.5 引入之前async ,await 生成器函数以一种特殊的方式使用来实现协程。async 在 python 3.5 及更高版本中,我们现在可以使用和两个关键字更方便、更原生地创建协程await。原创 2024-04-20 09:45:00 · 156 阅读 · 0 评论 -
Python 中的 if 语句
我们可以elif 根据需要拥有尽可能多的块,但是一个elif 块不能独立存在,需要有一个前面的if 块。我们else 在一个语句中只能有一个块if。正如我们之前所说,我们可以elif 根据需要拥有尽可能多的块,这允许我们将多个条件链接在一起,以便执行条件首先满足的块并终止检查。嵌套是指一个 if 语句出现在另一个 if 语句的主体内(位于其 3 个主要块中的任何一个中,即if, elif, else)。如果 if 语句中只有一个if 块,并且其主体由单个语句组成,则可以将单个语句放在同一行中,如下所示。原创 2024-04-20 07:00:00 · 85 阅读 · 0 评论 -
Python 中的生成器函数
每当return 遇到该语句时,该函数只是返回值并终止,而不保留有关其内部状态的任何信息,对该函数的任何后续调用都将重新开始并再次执行相同的代码。当我们对生成器执行后续调用时,我们可以使用该send()方法向生成器发送一个值。如上所示,当调用生成器函数时,它返回一个生成器对象,这是一个典型的迭代器。我们还可以将生成器与 for 循环一起使用,它会自动调用next()生成器上的函数,直到执行结束。当在生成器对象上调用时,该next() 函数使生成器从停止处继续执行,直到yield 到达下一条语句或执行完成。原创 2024-04-19 09:45:00 · 82 阅读 · 0 评论 -
Python 中的多线程
然而,在某些情况下,我们可能希望某些任务同时执行或在重叠的时间段内执行,多线程是我们可以快速有效地实现此目的的一种方法。然而,应该清楚的一件事是,在进程中的任何给定时间实际上只能执行单个线程。因此,实际上,多线程并不完全是同时的,而是通过线程之间快速切换来实现并发,切换速度之快,以至于人们可能会认为线程是并行执行的。可运行 - 在这种状态下,线程正在等待运行,它拥有所有必需的资源,只是调度程序尚未调度它运行。在我们深入研究线程和多线程的工作原理之前,您首先需要了解两个术语,即进程和线程。原创 2024-04-19 07:00:00 · 63 阅读 · 0 评论 -
【无标题】
方法是与特定对象或类关联的函数。:这些方法与类的实例相关联,可以访问和修改实例中的数据。:这些方法与类而不是实例相关联。它们用于创建或修改类级别的属性或行为。:这些是无法访问任何对象级或类级数据的实用方法。了解这 3 种方法之间的差异对于确保您编写的类组织正确、高效、易于维护并且密切反映它们所建模的现实生活对象至关重要。以下示例显示了如何在类中定义这些方法中的每一个。我们稍后会讨论技术细节。原创 2024-04-18 09:30:00 · 51 阅读 · 0 评论 -
Python 中的设置方法
该remove()方法就像 一样discard() ,如果元素是成员,则从集合中删除该元素。该方法接受任意数量的集合作为参数,并返回带有原始 set( ) 中不存在于输入集合中set 的元素的a。这意味着该方法返回一个新的集合对象,其中包含原始集合的所有元素,但如果对原始集合进行任何更改,则不会受到影响。该 symmetric_difference() 方法返回一个新集合,其中的元素属于任一集合,但不属于两个集合。如果元素存在,该 discard()方法会从该元素中删除该元素。原创 2024-04-18 07:00:00 · 58 阅读 · 0 评论 -
Python 函数作用域
当您在Python程序中使用名称(例如变量名函数名等)时,Python会在命名空间中创建、更改或查找该名称。命名空间是给定上下文中存在的名称的完整列表。命名空间有两种类型,和对象的范围决定了程序中可以访问它的位置,默认情况下,对象只能从它们出现的名称空间内访问。全局命名空间中的对象可以从程序中的任何位置访问,这是在模块或脚本的顶层声明的名称,即不在函数、类等内部声明的名称。另一方面,在诸如函数之类的块对于该块来说是本地的,并且只能在该块内访问。原创 2024-04-17 09:30:00 · 55 阅读 · 0 评论 -
Python 中的 *args 和 **kwargs
但是,我们必须确保函数定义中带有单星号( *args) 的参数始终位于双星号参数( ) 之前,否则会引发异常。例如,使用内置 print()函数,我们可以传入任意数量的参数,并且该函数将分别打印出每个参数。正如您在上面所看到的,该函数知道每个参数所属的位置,无论它是常规参数还是属于任意位置或关键字参数。对于位置参数,我们使用单个星号 (*) 后跟名称,而对于关键字参数,我们使用双星号 (**) 后跟参数名称。在下面的示例中,我们定义了 Great() 函数,以便它接受任意数量的位置参数,而不仅仅是三个。原创 2024-04-17 07:00:00 · 50 阅读 · 0 评论 -
Python 中的冒泡排序
冒泡排序是最基本的排序算法。它的简单性使其适合向计算机科学专业的学生介绍排序算法。然而,它的平均和最坏情况运行时间为,这使得它在排序中型到大型数据集时效率极低。O(n2)与其他排序算法相比,冒泡排序具有很大的局限性,因此不适合教育以外的实际环境。尽管有其局限性,但了解冒泡排序的操作对于您了解更高级的排序算法的工作原理至关重要。在下面的部分中,我们将了解冒泡排序算法的运行原理以及如何在 Python 中实现它。冒泡排序算法说明在冒泡排序算法中,对每对相邻元素进行比较,只有当它们不按顺序时才交换。原创 2024-04-16 09:30:00 · 360 阅读 · 0 评论 -
Python 中的选择排序
选择排序是一种简单的基于比较的排序算法。与其他排序算法相比,它的效率相对较低,因此不适合对大型数据集进行排序。然而,理解它的工作原理是理解更复杂的排序算法以及排序算法通常如何运行的基础步骤。该算法的平均和最差时间复杂度为O(n 2 ) ,其中 n是数组/列表中的元素数量。选择排序就地工作,这意味着它对原始列表中的元素重新排序,而不是创建新列表。这使得它具有内存效率。算法说明在选择排序中,数组/列表被分为两段;左侧是 已排序的段, 右侧是未排序的段。原创 2024-04-16 07:00:00 · 228 阅读 · 0 评论 -
整洁代码:定义和原则
干净的代码是指组织良好、易于理解和可维护的代码,它允许开发人员超越原始编码人员,有效地理解和贡献。示例说明了专业程序员如何在代码开发的不同方面应用干净代码原则,使代码库可读、可维护和可扩展。保持代码更简洁:提供有意义的名称并使用空格以提高可读性。首选多态性:使用单独的方法来设置和获取配置进行简化。力求简单:使用清晰的函数名称并避免不必要的缩写。一个类应该只知道它的依赖关系。使用描述性变量名称:清楚地表达每个变量的用途。存储配置的数据:使用清晰的变量和方法名称。将配置的数据存储在易于访问和修改的部分。原创 2024-04-15 10:49:33 · 410 阅读 · 0 评论 -
如何在Python中创建和使用Requirements.txt
设置 Python 项目后,创建一个requirements.txt文件对于简化任何克隆项目的依赖项的安装过程至关重要。此文件列出了运行项目所需的所有 Python 包。通过创建requirements.txt文件,您可以确保其他人可以轻松复制您的项目环境,从而保持不同系统之间的一致性和兼容性。在安装依赖项之前,请考虑创建一个虚拟环境以将您的项目与系统上的其他项目隔离。这可以防止冲突并确保您的项目有一个干净的环境。原创 2024-04-16 06:00:00 · 404 阅读 · 0 评论 -
在 Python 应用程序中设置和使用 Pyenv
Pyenv 是 Python 应用程序中的一个流行选项。 Pyenv 允许您在应用程序和系统上管理不同版本的 Python。手动安装:下载pyenv:让我们编辑您的 bash 配置文件:在文档末尾添加以下行:创建虚拟环境:激活虚拟环境:停用虚拟环境:管理Python版本:Pyenv 允许您管理 python 版本,这是一个简单的教程,您可以在应用程序或输入系统中使用:原创 2024-04-15 09:00:00 · 334 阅读 · 0 评论 -
在 Python 应用程序中设置和使用 Virtualenv
【代码】在 Python 应用程序中设置和使用 Virtualenv。原创 2024-04-15 06:00:00 · 537 阅读 · 0 评论 -
在 Python 应用程序中设置和使用 Python Venv
已经安装在 MacOS 和 Windows 平台上,但需要安装在某些 Linux 发行版上,这里是不同包管理器的。原创 2024-04-14 08:45:00 · 138 阅读 · 0 评论 -
Python 应用程序中的虚拟环境
无论您使用什么堆栈,虚拟环境都是现代应用程序开发的重要组成部分。虚拟环境避免了与依赖性和版本不兼容相关的问题。在本指南中,我将向您展示在 Python 中使用虚拟环境的三种流行方法。原创 2024-04-14 06:00:00 · 52 阅读 · 0 评论 -
掌握 Python:初学者和高级开发人员的最佳实践
Python 已成为现代软件开发的基石,为从 Web 应用程序到数据科学项目的一切提供支持。无论您是刚刚开始 Python 之旅,还是已经使用 Python 编码多年,坚持最佳实践对于编写干净、高效且可维护的代码至关重要。在本文中,我们将探讨初学者和高级开发人员都应该遵循的一些关键实践,以将他们的 Python 技能提升到一个新的水平。原创 2024-04-13 12:30:00 · 54 阅读 · 0 评论 -
Python 逻辑运算符
可以使用运算符对值和变量进行操作。这些独特的符号用于执行逻辑和算术运算。操作数是运算符运算的值。为了充分理解这个概念,我们将在这篇文章中回顾 Python 中逻辑运算符的定义,并看看在 Python 中使用逻辑运算符的几个应用程序。Python 条件语句(True 或 False)使用逻辑运算符。它们执行涉及 AND、OR 和 NOT 逻辑的运算。运算符“与”📌 描述:如果两个操作数都为 true,则返回 True。运算符“或”📌 描述:如果任一操作数为 true,则返回 True。原创 2024-04-13 10:00:00 · 289 阅读 · 0 评论 -
左移和右移:Python 中的位运算符
上周在 X(Twitter)上浏览时,我遇到了以下测验:你认为正确的答案是什么?你知道这个>>标志意味着什么吗?该符号表示该语言将执行按位运算。但那到底是什么?如果您不熟悉此操作,请不要担心。当时看了推文的评论,大多数人都做出了回应True。根据他们的说法,要执行的操作将是“4大于2”。由于 280 个字符不足以涵盖我在解决此测验时想要解决的所有问题,因此我决定编写本文来介绍一个似乎鲜为人知的概念。位运算:左移和右移让我们从基础开始。原创 2024-04-12 06:30:00 · 398 阅读 · 0 评论 -
PyTorch 中的 take()、take_along_dim() 和 Gather()
基本上,两个张量必须是相同的 D 并且返回的张量是 D,但是 0D 和 1D 张量或 1D 和 0D 张量的组合是可能的,那么返回的张量与第二个参数的张量相同torch或带有张量的第一个参数。如果设置了维度,则两个张量必须是相同的 D,并且返回的张量是 D。第二个参数的张量torch或第一个参数的张量决定返回张量的大小。第一个参数(必需)是具有张量的 0D 或更多 D 张量。第一个参数(必需)是具有张量的 0D 或更多 D 张量。第二个参数(必需)是具有张量的 0D 或更多 D 张量。原创 2024-04-08 19:43:04 · 467 阅读 · 0 评论 -
掌握 Python 迭代:循环和列表推导的魔力
➰它们可以简单地称为重复执行某些代码的方式➿。for 循环指定:在本例中使用的变量名称,“planet”要在“planet”上循环的值集,您可以使用单词“in”将它们链接在一起。注意:“in”右边的对象可以被认为是一组可以循环的事物。我们还可以迭代元组中的元素。列表和元组之间的区别在于,元组元素放在括号内,并且它们是不可变的,即一旦分配就不能为其分配新值。productOutput:360被乘数保存要相乘的值。原创 2024-04-08 19:41:20 · 630 阅读 · 0 评论 -
使用 Python 构建第一个 CNN 机器学习模型的完整指南
在这篇博文中,我们将逐步介绍如何使用 Python 构建第一个卷积神经网络 (CNN) 机器学习模型。由于 CNN 能够捕获数据中的空间层次结构,因此被广泛用于图像识别和分类任务。原创 2024-04-01 11:16:20 · 719 阅读 · 0 评论 -
使用 Python 和 MediaPipe 进行 AI 面部、身体和手部姿势检测
在本教程中,我们将学习如何使用 Python 和 MediaPipe 使用网络摄像头源执行实时面部、身体和手部姿势检测。MediaPipe 为各种任务提供预先训练的机器学习模型,例如面部标志检测、手部跟踪和全身姿势估计。**原创 2024-04-01 11:14:10 · 592 阅读 · 0 评论 -
使用 Python 和 TensorFlow 构建深度人脸检测模型
90 * 0.15 # 14 和 13 用于测试和验证。2.4 使用 Matplotlib 查看原始图像。1.3 使用LabelMe对图像进行注释。3.1 手动将数据分割到训练测试和验证中。90 * 0.7 # 63 用于训练。2.3 将图像加载到TF数据管道中。1.2 使用OpenCV采集图像。2.2 限制 GPU 内存增长。1.1 安装依赖项和设置。2.1 导入TF及依赖。3.2 移动匹配标签。原创 2024-04-01 11:11:20 · 432 阅读 · 0 评论 -
Python - 使用两指针技术进行高效的数组和字符串操作
在此示例中,我们使用两指针技术在排序数组中查找总和达到目标值的元素对。通过维护两个指针(left和right)并根据当前总和调整它们,我们可以有效地识别满足所需条件的对。两指针技术还可以应用于其他问题,例如从排序数组中删除重复项、检查字符串中的回文,或者无需嵌套循环即可高效解决相关任务。它是优化数组和字符串操作算法的通用策略。两指针技术涉及使用遍历数组或字符串的两指针来有效地解决问题。它对于搜索对、反转元素或检查特定条件等任务特别有用。原创 2023-12-03 21:19:22 · 75 阅读 · 0 评论 -
Python - 使用哈希表(字典)进行快速数据检索
在这个例子中,我们使用字典(element_count)来有效地计算列表中元素的出现次数。我们遍历列表,检查每个元素是否存在于字典中。这种方法提供了一种简单而有效的方法来计算元素频率。哈希表通常在 Python 中实现为字典,是有效存储和检索数据的基本数据结构。它们提供恒定时间的平均情况查找、插入和删除操作,这使得它们对于各种应用程序都很有价值。哈希表用途广泛,可以应用于各种问题,例如缓存、频率计数、记忆等。有效地利用 Python 字典可以在许多场景中带来干净且高性能的解决方案。原创 2023-12-03 21:03:31 · 163 阅读 · 0 评论 -
Python - 实现图和树遍历的广度优先搜索(BFS)
广度优先搜索(BFS)是一种通用算法,用于以逐级方式遍历图和树。它从根(或任何选定的节点)开始,并在移动到其子节点之前探索所有邻居节点。BFS 对于最短路径查找、连通分量分析等任务很有用。在这个例子中,我们实现了 BFS 来逐层遍历二叉树。我们使用队列数据结构来跟踪要访问的节点,确保每个级别的节点在移动到下一个级别之前都得到处理。BFS 是一种用于探索图和树的强大算法,它保证了未加权图中的最短路径。您可以调整它来遍历各种类型的图并有效地解决各种问题。原创 2023-12-03 21:01:54 · 90 阅读 · 0 评论 -
Python - 用于高效子数组或子串操作的滑动窗口技术
k在这个例子中,我们使用滑动窗口技术来有效地找到数组中固定长度的最大和子数组。我们使用current_sum第一个k元素的总和来初始化 ,然后一次滑动窗口一个元素,同时更新总和。滑动窗口技术对于解决涉及数组或字符串中的子数组或子字符串的问题非常有价值。它通过维护元素“窗口”并将其滑过输入数据来优化问题。这种方法通常会产生有效的线性或近线性时间解决方案。滑动窗口技术用途广泛,可以适用于解决与子数组或子串相关的各种问题,例如查找具有特定属性的子数组、计算平均值或检测数据中的模式。它是优化此类操作的强大工具。原创 2023-12-03 20:59:44 · 53 阅读 · 0 评论 -
Python - 考虑分而治之来解决复杂问题
分而治之技术是一种强大的策略,通过将复杂问题分解为更小、更易于管理的子问题来解决这些问题。它通常涉及三个步骤:划分、征服和组合。这种方法通常会产生时间复杂度较低的高效算法。在此示例中,我们使用分而治之技术来实现合并排序算法。将数组分为两半,递归排序,然后合并在一起。归并排序的时间复杂度为 O(n log n),使其成为大型数据集的高效排序算法。分而治之可以应用于各种问题领域,例如排序、搜索以及快速排序和二分搜索等分而治之算法。这是一种通过将复杂问题分解为更简单的子问题来有效解决复杂问题的强大方法。原创 2023-12-03 20:57:04 · 94 阅读 · 0 评论 -
在 Python 中定义清理操作
代码1: 代码正常运行,最后采取清理操作**原创 2023-11-16 20:53:50 · 72 阅读 · 0 评论 -
异步编程中的 20 个关键词:并发、多处理...全部解释。
queue提供了一种在线程之间交换数据的线程安全方式,并asyncio提供任务级并发性,而无需多个操作系统线程。线程池是预先创建并重用以执行多个任务的线程的集合。每项任务必须在下一项任务开始之前完成,从而导致效率低下,尤其是在涉及输入/输出操作的场景中。在多种情况下都需要异步编程,例如:I/O 密集型操作、Web 开发、网络并发、GUI 应用程序、实时应用程序、长时间运行的任务。在本文中,我们将探讨 Python 中从传统同步编程到异步范例的转变,揭示可提高应用程序效率和响应能力的强大概念和工具。原创 2023-11-15 20:20:44 · 213 阅读 · 0 评论 -
Python Asyncio:异步编程和并发指南
将 asyncio 合并到您的 Python 项目中,以实现高效的并发和异步编程。print_message 函数:定义一个异步函数,使用 模拟异步操作await asyncio.sleep(delay)。我将写一篇关于anyio的文章。异步代码的执行:使用 运行主要异步函数loop.run_until_complete(main())。导入:导入必要的模块 - 用于异步编程的 asyncio 和用于测量执行时间的 time。事件循环设置:使用创建事件循环asyncio.get_event_loop()。原创 2023-11-15 20:18:33 · 271 阅读 · 0 评论 -
Python 中用户定义的异常及示例
运行时错误是一个类,它是当生成的错误不属于任何类别时引发的标准异常。以类似的方式,可以从Python的标准异常派生出异常。在下面的文章中,我们创建了一个名为“Error”的类,该类派生自 Exception 类。这个基类被各种用户定义的类继承,用于处理不同类型的python引发异常和消息。虽然不是强制性的,但大多数异常都被命名为以“Error”结尾的名称,类似于 python 中标准异常的命名。执行此操作的常见方法之一是为该模块定义的异常创建基类。此外,定义了各种子类来为不同的错误条件创建特定的异常类。原创 2023-11-14 21:06:22 · 100 阅读 · 0 评论 -
Python异常处理
在上面的示例中,可能导致错误的语句被放置在 try 语句中(在我们的例子中是第二个 print 语句)。可以引发异常的语句保留在 try 子句中,而处理异常的语句则写在 except 子句中。在 Python 中,有几个内置异常,当程序执行期间发生错误时可能会引发这些异常。可能的安全风险:异常处理不当可能会泄露敏感信息或在代码中创建安全漏洞,因此仔细处理异常并避免暴露太多有关程序的信息非常重要。更轻松的调试:当引发异常时,Python 解释器会打印回溯,显示异常发生的确切位置,从而更轻松地调试代码。原创 2023-11-14 21:04:19 · 180 阅读 · 0 评论 -
自定义 API 端点
本文展示了如何使用 Python 中的自定义端点扩展 txtai 应用程序。虽然应用程序具有强大的工作流框架,但最好用 Python 编写复杂的逻辑,并且此方法可以实现这一点。原创 2023-11-12 17:12:48 · 151 阅读 · 0 评论 -
如何使用 Python 构建温度转换器计算器
Python 是一种流行的编程语言,拥有大型社区和许多有用的库,使其成为创建温度转换器计算器的绝佳选择。只需几行代码,我们就可以构建一个强大而高效的温度转换器,可以在摄氏度、华氏度和开尔文之间进行转换。然后,您可以输入输入温度值、输入温标(C、F 或 K)以及输出温标(C、F 或 K)。您将按照本教程中的分步说明,学习如何制作功能强大且有效的温度转换计算器,该计算器可以在多个温标(例如摄氏度、华氏度和开尔文)之间进行转换。创建温度转换器计算器的第一步是定义我们想要在之间进行转换的温标。原创 2023-11-12 17:05:01 · 121 阅读 · 0 评论 -
加快 Python 代码速度的 10 种简单方法
但是如果你有一个非常大的列表(我说的是数十亿个项目),那么考虑使用filter(),你肯定不希望你的大列表被重复。列表理解:您的代码将比普通for循环快得多(约快 50%) ,而且也更短。在Python中,有一个叫做“truthy & falsy”的概念,它意味着如果你运行的话,有一些变量被解释为Trueor (当你把它们放在子句后面时,由你或解释器明确地解释)。一个大问题是“列表理解”不能在内部包含太多逻辑(不会破坏你漂亮的代码),所以我的解决方案是将逻辑包装到一个函数中,然后在“列表理解”内部调用它。原创 2023-11-12 17:02:56 · 455 阅读 · 0 评论 -
Python 全局解释器锁 (GIL):理解、解决方法和并行性
Python 是一种流行的编程语言,以其简单性和多功能性而闻名,它采用全局解释器锁 (GIL) 来影响多线程 Python 程序的执行。在本文中,我们深入研究了 GIL 的复杂性、它对并行性的影响以及解决其局限性的策略。原创 2023-08-17 12:35:55 · 395 阅读 · 0 评论 -
学习 Python 编程的 11 个初学者技巧
为什么知道如何学习如此重要?答案很简单:随着语言的发展,库被创建,工具被升级。了解如何学习对于跟上这些变化并成为一名成功的程序员至关重要。在本文中,我们将提供几种学习策略,帮助您开启成为摇滚明星 Python 程序员的旅程!让它坚持下去。原创 2023-08-16 20:49:06 · 85 阅读 · 0 评论