Python API中一些可直接調(diào)用的函數(shù)介紹
如果你在Python直接調(diào)用中你會(huì)發(fā)現(xiàn)很多的函數(shù)是不能被直接調(diào)用的,當(dāng)然又不能直接調(diào)用的就會(huì)有在Python中直接被調(diào)用的函數(shù),以下就是對(duì)可以直接調(diào)用的這些Python API的相關(guān)內(nèi)容的介紹。
Python直接調(diào)用中會(huì)出現(xiàn)不直接調(diào)用的PyParser和PyTokenizer的函數(shù),而是直接調(diào)用下面的這些Python API:
- PyAPI_FUNC(node *) PyParser_ParseString
 
(const char *, grammar *, int,- perrdetail *);
 - PyAPI_FUNC(node *) PyParser_ParseFile
 
(FILE *, const char *, grammar *, int,- char *, char *, perrdetail *);
 - PyAPI_FUNC(node *) PyParser_ParseStringFlags
 
(const char *, grammar *, int,- perrdetail *, int);
 - PyAPI_FUNC(node *) PyParser_ParseFileFlags
 
(FILE *, const char *, grammar *,- int, char *, char *,
 - perrdetail *, int);
 - PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename
 
(const char *,- const char *,
 - grammar *, int,
 - perrdetail *, int);
 - /* Note that he following function is defined
 
in pythonrun.c not parsetok.c. */- PyAPI_FUNC(void) PyParser_SetError(perrdetail *);
 
PyAPI_FUNC宏是用于定義公用的Python API,表明這些函數(shù)可以被外界調(diào)用。在Windows上面Python Core被編譯成一個(gè)DLL,因此PyAPI_FUNC等價(jià)于大家常用的__declspec(dllexport)/__declspec(dllimport)。
這些函數(shù)把PyParser和PyTokenizer對(duì)象的接口和細(xì)節(jié)包裝起來,使用者可以直接調(diào)用PyParser_ParseXXXX函數(shù)來使用PyParser和PyTokenizer的功能而無需知道PyPaser/PyTokenizer的工作方式,這可以看作是一個(gè)典型的Façade模式。以PyParser_ParseFile為例,該函數(shù)分析傳入的FILE返回生成的CST。其他的函數(shù)與此類似,只是分析的對(duì)象不同和傳入?yún)?shù)的不同。
以上就是對(duì)直接調(diào)用下面的這些Python API相關(guān)的內(nèi)容的介紹,忘你會(huì)有所收獲。
【編輯推薦】















 
 
 

 
 
 
 