亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中字符串駐留的原理是什么

發布時間:2021-04-26 17:27:22 來源:億速云 閱讀:172 作者:Leah 欄目:編程語言

這篇文章給大家介紹Python中字符串駐留的原理是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。

1、說明

在CPython中,字符串引用由一個名為interned的Python字典存儲、訪問和管理。當第一次調用常駐字符串時,字典被延遲初始化,并保存對所有常駐字符串對象的引用。

2、原理實例

負責常駐字符串的核心函數是PyUnicode_InternInPlace,它是在unicodeobject.c中定義的,調用時會創建一個interned的字典來容納所有常駐字符串,然后在參數中注冊對象,使它們的鍵和值使用相同的對象引用。

以下函數片段顯示了 Python 實現字符串駐留的過程。

  void
  PyUnicode_InternInPlace(PyObject **p)
  {
      PyObject *s = *p;
  
      .........
  
      // Lazily build the dictionary to hold interned Strings
      if (interned == NULL) {
          interned = PyDict_New();
          if (interned == NULL) {
              PyErr_Clear();
              return;
          }
      }
  
      PyObject *t;
  
      // Make an entry to the interned dictionary for the
      // given object
      t = PyDict_SetDefault(interned, s, s);
  
      .........
 
      // The two references in interned dict (key and value) are
      // not counted by refcnt.
      // unicode_dealloc() and _PyUnicode_ClearInterned() take
      // care of this.
      Py_SET_REFCNT(s, Py_REFCNT(s) - 2);
  
      // Set the state of the string to be INTERNED
      _PyUnicode_STATE(s).interned = SSTATE_INTERNED_MORTAL;
  }

關于Python中字符串駐留的原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

剑川县| 乐至县| 瑞丽市| 塔城市| 伊吾县| 日照市| 吴江市| 凉城县| 元谋县| 涞源县| 惠东县| 漾濞| 凤台县| 横峰县| 泊头市| 枣阳市| 通海县| 区。| 洛川县| 博乐市| 拉孜县| 陇川县| 大埔县| 安福县| 如东县| 泽库县| 文昌市| 东台市| 兴和县| 吴旗县| 资溪县| 河北省| 揭西县| 右玉县| 万盛区| 清原| 招远市| 正宁县| 九台市| 双江| 浑源县|