python判断字符串里的字符(Python如何判定字符串被驻留)
导读:1、概念...
1 、概念
Python与大多数其他现代编程语言一样 ,也使用字符串驻留来提高性能 。在Python中 ,我们可以使用is操作符来检查是否两个对象引用了相同的内存对象 。
2 、驻留的判定
如果两个字符串对象引用了相同的内存对象 ,则is运算符将得出True ,否则为False。
>>>pythonispython True我们可以使用这个特定的运算符 ,来判断哪些字符串是被驻留的 。在 CPython 的 ,字符串驻留是通过以下函数实现的 ,声明在 unicodeobject.h 中 ,定义在 unicodeobject.c 中 。
PyAPI_FUNC(void)PyUnicode_InternInPlace(PyObject**);为了检查一个字符串是否被驻留 ,CPython 实现了一个名为PyUnicode_CHECK_INTERNED的宏,同样是定义在 unicodeobject.h 中 。
这个宏表明了 Python 在PyASCIIObject结构中维护着一个名为interned的成员变量 ,它的值表示相应的字符串是否被驻留 。
#definePyUnicode_CHECK_INTERNED(op)\ (((PyASCIIObject*)(op))->state.interned)创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!