知行编程网知行编程网  2022-12-25 04:30 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python如何判定字符串被驻留的相关知识,包括不再查验48小时核酸证明和健康码,以及被7这些编程知识,希望对大家有参考作用。

Python如何判断一个字符串是常驻的


1、概念

与大多数其他现代编程语言一样,Python 使用字符串持久性来提高性能。在 Python 中,我们可以使用 is 运算符来检查两个对象是否引用同一个内存对象。


2、驻留的判定

如果两个字符串对象引用同一个内存对象,则 is 运算符将返回 True,否则返回 False。

  >>> 'python' is 'python'
  True

我们可以使用这个特定的运算符来确定哪些字符串是常驻的。在 CPython 中,字符串持久化由以下函数实现,在 unicodeobject.h 中声明并在 unicodeobject.c 中定义。

PyAPI_FUNC(void) PyUnicode_InternInPlace(PyObject **);

为了检查字符串是否被驻留,CPython 实现了一个名为 PyUnicode_CHECK_INTERNED 的宏,该宏也在 unicodeobject.h 中定义。

该宏表示Python在PyASCIIObject结构中维护了一个名为interned的成员变量,其值表示对应的字符串是否常驻。

  #define PyUnicode_CHECK_INTERNED(op) \
      (((PyASCIIObject *)(op))->state.interned)

以上就是Python判定字符串被驻留的方法,希望能

对大家有所帮助。

更多Python学习指路:

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享