找到 10786 篇文章 关于 Python

如何在 Python 的正则表达式中找到每个匹配的精确位置?

Md Waqar Tabish
更新于 2022-09-20 07:07:24

2K+ 阅读量

简介 我们在 Python 中使用 re 模块进行正则表达式操作。文本搜索和更复杂的文本操作都使用正则表达式。像 grep 和 sed 这样的工具、像 vi 和 emacs 这样的文本编辑器以及像 Tcl、Perl 和 Python 这样的计算机语言都内置了正则表达式支持。Python 中的 re 模块提供了用于匹配正则表达式的函数。定义我们正在查找或修改的文本的正则表达式称为模式。此字符串由文本字面量和元字符组成。compile 函数用于创建模式。建议使用原始字符串,因为正则表达式... 阅读更多

为什么 Python 中的字典键必须是不可变的?

AmitDiwan
更新于 2022-09-19 14:25:30

1K+ 阅读量

要理解为什么字典键必须是不可变的,让我们将其与哈希表相关联。字典的哈希表实现使用从键值计算的哈希值来查找键。如果假设键是一个可变对象,则它的值可能会发生变化,因此它的哈希值也可能会发生变化。如上所述,由于任何更改键对象的人都不知道它被用作字典键,因此它无法在字典中移动条目。然后,当您尝试在字典中查找相同的对象时,它将不会... 阅读更多

为什么 CPython 退出时不会释放所有内存?

AmitDiwan
更新于 2022-09-19 14:16:22

554 阅读量

CPython 是 Python 的默认且使用最广泛的解释器或实现。它是原始的 Python 版本,并且理解使用 Python 规范编写的代码。Python 对退出时清理内存非常重视,并且确实尝试销毁每个对象,但不幸的是,Python 模块的全局命名空间引用的对象在 Python 退出时并不总是被释放。原因是循环引用。还有一些由 C 库分配的内存位无法释放。使用 atexit 模块强制 Python 在释放时删除某些内容。... 阅读更多

为什么 Python lambda 表达式不能包含语句?

AmitDiwan
更新于 2022-09-19 14:15:57

1K+ 阅读量

是的,Python Lambda 表达式不能包含语句。在深入探讨原因之前,让我们先了解什么是 Lambda、它的表达式和语句。Lambda 表达式允许定义匿名函数。lambda 函数是匿名函数,即没有名称的函数。让我们看看语法 - lambda 参数:表达式 关键字 lambda 定义了一个 lambda 函数。lambda 表达式包含一个或多个参数,但它只能有一个表达式。Lambda 示例 让我们看一个例子 - myStr = "Thisisit!" (lambda myStr : print(myStr))(myStr) 输出 Thisisit! 按值对列表排序... 阅读更多

如何在 Python 中编写具有输出参数(按引用调用)的函数?

AmitDiwan
更新于 2022-09-19 14:15:33

5K+ 阅读量

Python 语言中的所有参数(参数)都是按引用传递的。这意味着如果您在函数中更改参数引用的内容,则更改也会反映到调用函数中。通过以下方式实现这一点 - 返回结果的元组 示例 在此示例中,我们将返回结果的元组 - # 函数定义 def demo(val1, val2): val1 = '新值' val2 = val2 + 1 return val1, val2 x, y = '旧值', 5 # 函数调用 print(demo(x, y)) ... 阅读更多

如何使用 Python 中的线程进行编程

AmitDiwan
更新于 2022-09-19 13:49:08

212 阅读量

线程有时被称为轻量级进程,它们不需要太多内存开销;它们比进程便宜。线程有一个开始、一个执行序列和一个结论。有两个模块支持在 Python3 中使用线程 - _thread - 在 Python 3 中已弃用 Threading - 在 Python 2.4 中引入 Threading 模块 Python 2.4 附带的较新的 threading 模块比 thread 模块提供了更强大、更高级别的线程支持。threading 模块公开了 thread 模块的所有方法,并提供了一些其他方法 - threading.activeCount() ... 阅读更多

Python 中逗号运算符的优先级有什么问题?

AmitDiwan
更新于 2022-09-19 13:47:49

609 阅读量

运算符优先级确定表达式中项的组合方式,并决定如何评估表达式。逗号不是 Python 中的运算符;因此,优先级概念在这里不起作用。在继续之前,让我们首先查看 Python 中从最高优先级到最低优先级的运算符优先级。序号 运算符和描述 1 ** 幂运算(乘方) 2 ~ + - 补码、一元加和减(后两者的方法名称为 +@ 和 -@) 3 * / % // 乘、除、模和地板除... 阅读更多

我的 Python 类定义了 __del__,但当我删除对象时它没有被调用

AmitDiwan
更新于 2022-09-19 13:46:46

3K+ 阅读量

__del__ 是 Python 中的魔术方法。魔术方法允许我们在面向对象编程中做一些非常巧妙的技巧。它们也称为 Dunder 方法。这些方法由用作前缀和后缀的两个下划线 (__) 识别。在 Python 中,我们使用 __new__() 创建对象,并使用 __init__() 初始化对象。但是,要销毁对象,我们有 __del__()。示例 让我们创建和删除一个对象 - class Demo: def __init__(self): print("我们正在创建一个对象。"); # 析构函数 def __del__(self): ... 阅读更多

Python 子类如何控制存储在不可变实例中的数据?

AmitDiwan
更新于 2022-09-19 13:45:56

236 阅读量

为此,首先了解 Python 中的 __new__() 方法是什么。当对不可变类型进行子类化时,覆盖 __new__() 方法而不是 __init__() 方法。__new__ 方法在创建对象时被调用,而 __init__ 方法将被调用以初始化对象。这些是魔术方法。魔术方法允许我们在面向对象编程中做一些非常巧妙的技巧。它们也称为 Dunder 方法。这些方法由用作前缀和后缀的两个下划线 (__) 识别。显示 int 类继承的魔术方法 示例 使用 fir(),我们可以打印... 阅读更多

如何在 Python 中缓存方法调用?

AmitDiwan
更新于 2022-09-19 13:40:15

2K+ 阅读量

缓存方法的两个工具是 functools.cached_property() 和 functools.lru_cache()。这两个模块都是 functools 模块的一部分。functools 模块用于高阶函数:作用于或返回其他函数的函数。让我们首先安装并导入 functools 模块 - 安装 functools 要安装 functools 模块,请使用 pip - pip install functools 导入 functools 要导入 functools - import functools 让我们逐一了解这两个缓存 - cached_property() 对于实例的昂贵计算属性很有用,否则这些属性实际上是不可变的。cached_property 方法仅适用于执行... 阅读更多

广告

© . All rights reserved.