掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
1、概念

10年積累的成都網(wǎng)站設計、成都網(wǎng)站制作經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設流程,更有潁泉免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
Python與大多數(shù)其他現(xiàn)代編程語言一樣,也使用字符串駐留來提高性能。在Python中,我們可以使用is操作符來檢查是否兩個對象引用了相同的內(nèi)存對象。
2、駐留的判定
如果兩個字符串對象引用了相同的內(nèi)存對象,則is運算符將得出True,否則為False。
>>> 'python' is 'python' True
我們可以使用這個特定的運算符,來判斷哪些字符串是被駐留的。在 CPython 的,字符串駐留是通過以下函數(shù)實現(xiàn)的,聲明在 unicodeobject.h 中,定義在 unicodeobject.c 中。
PyAPI_FUNC(void) PyUnicode_InternInPlace(PyObject **);
為了檢查一個字符串是否被駐留,CPython 實現(xiàn)了一個名為PyUnicode_CHECK_INTERNED的宏,同樣是定義在 unicodeobject.h 中。
這個宏表明了 Python 在PyASCIIObject結(jié)構中維護著一個名為interned的成員變量,它的值表示相應的字符串是否被駐留。
#define PyUnicode_CHECK_INTERNED(op) \ (((PyASCIIObject *)(op))->state.interned)
以上就是Python判定字符串被駐留的方法,希望能對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)Python教程

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流