你应该知道的九个优秀的 Python 概念

你应该知道的九个优秀的 Python 概念,推导式分为三种类型:列表推导、字典推导和集合推导。如果你想从现有的可迭代对象中创建新的列表、字典或集合,请使用推导式。以下代码片段展示了这些用法,这些推导具有相似的语法。以下是对不同形式的简要概述。值得注意的是可以设置条件以确保保留所需的元素,图片,异常是在程序执行期间出现并导致程序中断的情况。它可能由各种原因而发生。假设正在构建一个除法程序,并且分母包含 0,从而导致 ZeroDivisionError。导入不存在的库或访问不在列表索引中的元素是另外两个实例。Python 带有大约 30 个内置异常。 try和except块用于处理python中的异常。except当我们需要同时处理多个异常时,我们可以使用多个块。try块是要执行的指令。except块包含执行try失败时执行的代码。还有else和finally块。else块仅在try成功执行块时执行。finally无论前一个块的结果如何,finally块将始终执行。,图片,图片,Python itertools 模块提供了适用于迭代器的各种函数。,例如,如果想在每次调用“my_function”函数时记录日志,可以这样编写代码:,让我们解释上面的装饰器的例子——首先,我们有一个函数名add,它的工作是获取两个变量并返回它们的总和。现在经过一段时间的工作,我们意识到需要将功能记录到相同的函数中。现在我们有两个选择,第一个是在同一个add函数中添加函数调用日志代码,或者我们可以使用装饰器添加功能而不显式更改函数。为了使用装饰器,我们首先定义了一个装饰器函数。该函数original_func作为输入。然后,我们有另一个功能。它是一个具有*args, **kwargs函数参数的包装函数。有了这些,现在都定义为参数,我们可以在函数内传递任意数量的参数。在包装函数的主体中,我们有日志功能的逻辑。当我们add使用一些参数调用函数时add(5,6),输出将是:,图片,比如最经典的面试题斐波那契数列,通常,这些方法用于重载预定义的运算符。例如,数字运算符+,-,*,/必须在数字对象周围使用,但+也可以用于连接两个字符串。因此,我们可能会争辩说+号操作符在执行字符串连接消耗的内存大。,在学习 Python 字典时,我们了解到键必须是可散列的。可哈希是什么意思?Hashable 基本上表示一个 Python 对象可以被散列,也就是散列的行为。下图描述了散列的工作流程。,图片,散列是使用散列函数(也称为散列器)(在图中称为散列)将 Python 对象(在图中称为键)转换为数字散列值的过程。使用内置的 hash() 方法来获取 Python 对象的哈希值是一种判断它是否存在的简单方法。如果对象不可散列,Python 将抛出 TypeError 异常。,那么,为什么我们首先要费心使用散列创建字典呢?,在类似的问题上,你可能听说过设置项也必须是可散列的。字典和集合都需要在底层创建哈希表。以下代码片段演示了特定对象的哈希性如何影响它们作为字典键的适用性。哈希最显着的好处是它们在检索字典元素时提供即时查找时间(即 O(1) 时间复杂度)。检查特定项目是否在集合中需要相同的时间。换句话说,使用散列作为实现机制减少了在后台使用散列表的开销,同时提高了一些常见操作(如项目检索、项目插入和项目验证)的效率。,上面的代码生成一些随机整数来确定项目获取的平均查找时间,来模拟真实情况。如你所见,即使字典中有 100,000 个条目,查找时间也几乎相同,这证明了使用哈希表作为字典存储机制的好处。,本文转载自微信公众号「树哥会编程」,可以通过以下二维码关注。转载本文请联系树哥会编程公众号。,你应该知道的九个优秀的 Python 概念

文章版权声明

 1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/17837.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年3月5日 上午12:00
下一篇 2023年3月7日 下午10:34