自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python代碼在實際應(yīng)用中的方案簡介

開發(fā) 后端
Python代碼的功能可以判斷在一個文件夾內(nèi)是否存在你所需要的某個文件,如果你的文件是被刪除或者移走時Python代碼給用戶提示。以下就是對Python代碼的相關(guān)實際應(yīng)用方案的介紹。

Python代碼在實際應(yīng)用中還是比較簡捷的。給計算機語言一族在計算機語言實際應(yīng)用帶來一些好處,下面就簡單的說明一下在Python代碼標(biāo)號中所對應(yīng)代碼中的注釋處的詳細(xì)介紹。

1. 判斷字符串的長度加上PyStringObject本身的大小(即整個變長對象PyStringObject的實際大小)后, 是否超過系統(tǒng)限制的最大大小. 書上的Python舊版代碼中僅判斷size > PY_SSIZE_T_MAX, 也就是沒有考慮對象自身的大小, 是不完善的.

2. 當(dāng)需要分配的內(nèi)存超過系統(tǒng)限制的上限時, 拋出異常PyExc_OverflowError, 即溢出.書上的Python代碼舊版代碼沒有拋出異常.

3. 對于長度為0的空串(即"", 而非NULL), 若nullstring已經(jīng)被初始化, 則返回nullstring. 這是intern機制的一部分. 書上的Python舊版代碼沒有對nullstring增加引用計數(shù).

4. 對于長度為1的字符串, 若字符表中該字符對象已經(jīng)初始化, 則返回該字符對象. 這是intern機制的一部分. 書上的Python代碼舊版代碼沒有對該字符對象增加引用計數(shù).

5. 若申請內(nèi)存空間失敗, 則調(diào)用PyErr_NoMemory()處理. 書上的Python舊版代碼中沒這一部分.

6. 使用Py_MEMCPY代替直接使用memcpy. 貼一下Py_MEMCPY的代碼:

 

  1. [Include/pyport.h]  
  2. /* Py_MEMCPY can be used instead of memcpy in cases 
    where the copied blocks  
  3. * are often very short. While most platforms have 
    highly optimized code for  
  4. * large transfers, the setup costs for memcpy are
     often quite high. MEMCPY  
  5. * solves this by doing short copies "in line".  
  6. */  
  7. #if defined(_MSC_VER)  
  8. #define Py_MEMCPY(target, source, length) do { \  
  9. size_t i_, n_ = (length); \  
  10. char *t_ = (void*) (target); \  
  11. const char *s_ = (void*) (source); \  
  12. if (n_ >= 16) \  
  13. memcpy(t_, s_, n_); \  
  14. else \  
  15. for (i_ = 0; i_ < n_; i_++) \  
  16. t_[i_] = s_[i_]; \  
  17. } while (0)  
  18. #else  
  19. #define Py_MEMCPY memcpy  
  20. #endif  

 

看注釋應(yīng)該就明白了, Py_MEMCPY是為跨平臺優(yōu)化而提供的一個宏. 因為在有些平臺上, 調(diào)用mempcy的代價比較高, 所以對于小數(shù)據(jù)量的拷貝就原地展開成循環(huán). 那Python代碼覺得哪些平臺需要這樣的優(yōu)化呢? 看到_MSC_VER了吧, 這個是M$的C編譯器特有的宏, 看來, 需要特別優(yōu)化的就是Windows下了.

【編輯推薦】

  1. Python 配置文件的實際應(yīng)用解析
  2. Python安裝配置的具體步驟的相關(guān)介紹
  3. python 編程語言在操作文件編碼格式的應(yīng)用
  4. Python 中文亂碼問題的分析的具體方案介紹
  5. Python創(chuàng)建mysql的數(shù)據(jù)庫連接池實際操作方案簡介
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-03-18 10:45:33

Python Djan

2010-03-31 17:40:15

Oracle SELE

2010-03-23 17:53:46

Python遞歸文件

2010-03-16 09:20:25

Python時間

2009-12-02 19:51:54

PHP Switch語

2010-03-19 14:59:00

python Stri

2010-03-17 15:58:08

Python環(huán)境

2010-03-12 08:59:40

Python代碼

2010-03-17 12:37:51

Python定時器

2010-03-17 14:42:09

Python 文件

2010-03-23 14:54:27

Python目錄文件

2010-04-08 18:33:46

Oracle VARR

2010-03-23 13:30:36

Python VIM

2010-03-24 18:39:21

Python unic

2010-03-17 16:27:39

Python矩陣轉(zhuǎn)置

2010-03-16 10:00:37

Python函數(shù)

2010-03-19 17:15:43

2010-03-03 17:52:31

Python線程同步

2010-03-16 16:47:25

Python數(shù)組

2009-11-03 11:03:00

CDN接入技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號