999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的混合語言編程及其實現研究

2022-07-01 17:01:29盧紹兵
科技資訊 2022年14期
關鍵詞:數據分析

盧紹兵

摘??要:Python屬于ABC語言替代品,能夠為語言編程提供高效、高級的數據結構,有效面對對象進行編程操作。Python編程語言的設計風格一般比較清晰統一,這使得Python編程語言能夠簡單易懂,維護起來也十分便利,所以被很多大眾所接受和喜歡,應用推廣速度比較快。Python是目前一種常用的腳本語言,在混合語言編程的軟件開發中具有很好的應用效果。該文對Python編程語言進行論述,研究Python編程語言的語言風格、語言優點等,并探究其在混合語言編程中的應用和實現。

關鍵詞:Python???混合語言編程???數據分析???軟件

中圖分類號:?TP313????文獻標識碼:A???文章編號:1672-3791(2022)07(b)-0000-00

Research?on?Mixed?language?Programming?Based?on?Python?and?Its?Implementation

LU?Shaobing

(Yunnan?business?college,?Kunming,?Yunnan?Province,??651701?China)

Abstract:?Python?is?an?alternative?to?ABC?language,?which?can?provide?efficient?and?advanced?data?structure?for?language?programming?and?effectively?program?objects.?The?design?style?of?Python?programming?language?is?generally?clear?and?unified,?which?makes?python?programming?language?easy?to?understand?and?convenient?to?maintain.?Therefore,?it?is?accepted?and?liked?by?many?people,?and?its?application?and?promotion?speed?is?relatively?fast.?Python?is?a?commonly?used?scripting?language,?which?has?a?good?application?effect?in?the?software?development?of?mixed?language?programming.?This?paper?discusses?the?python?programming?language,?studies?the?language?style?and?language?advantages?of?Python?programming?language,?and?explores?its?application?and?implementation?in?mixed?language?programming.

Key?Words:?Python;?Mixed?language?programming;?Data?analysis;?Software

1.1語言風格

Python屬于ABC語言替代品,能夠為語言編程提供高效、高級的數據結構,有效面對對象進行編程操作[1]。Python編程語言的設計風格一般比較清晰統一,這使得Python編程語言能夠簡單易懂,維護起來也十分便利,所以被很多大眾所接受和喜歡,應用推廣速度比較快[2]。Python編程語言開發以特定的問題為基礎,選擇最有效的方式來解決問題[3]。Python編程語言具有一定的限制性,在編程中,不良的編程習慣會造成編程不能通過編譯[4]。例如:IF語句的下一行不向右縮進,在Python編程語言中,縮進規是至關重要的一部分,相對于其他語言來說,Python編程語言最突出的特點是模塊界限,這主要是每行的首字符位置來決定的,但是其他語言,例如C語言等,則是通過“{}”來對于模塊界限進行確定。

1.2語言優點

Python編程語言的優點比較多,使用Python編程語言簡單易學,Python編程語言可以免費使用,編程速度快,具有一定的可移植性和解釋性,具備一定的拓展性和可嵌入性[5]。

Python編程語言是一種簡單的思想語言,具有良好閱讀基礎的Python編程員在對Python編程的閱讀中,就像是在閱讀英語一樣,可以幫助編程員把握關鍵問題,解決問題,而不是研究語言本身。因為Python編程語言具有一定的簡單性,清楚明了,容易理解,所以學習Python編程語言難度也相對低一些,在Python編程語言中,包含說明文檔,能夠幫助理解[6]。Python編程語言底層通過C語言編寫,很多標準款、第三方庫都是借助C語言進行編寫,所以運行速度比較快。此外,Python編程語言也是FLOSS的重要祖晨部分,應用這可以自由發布軟件拷貝,對相應源代碼進行閱讀和改動,且能夠將其應用到軟件中。開源本質讓Python編程語言可以被移植到更多的平臺中。Python編程語言是編譯性語言,能夠將源文件轉換到用戶計算機所使用的語言中。這一過程通過編譯器和不同標記、選項等共同完成。在對程度進行運行中,連接軟件對用戶程序復制和內存運行都有一定幫助。借助Python編程語言編寫的程序不需要進行二進制編譯就可以在源代碼中進行相應程序的運行。計算機內部,Python編程語言解釋器可以將源代碼進行轉換,使其成為字節碼中間形式,再將其翻譯成計算機語言運行,能夠讓Python編程語言應用變得更加簡單,程序移植也更加簡單。Python編程語言支持面向過程編輯,也能夠支持面向對象編程,在向過程中語言中,程序通過過程或使用重用代碼函數構建。在面向對象語言中,Python編程語言包含功能和數據組合對象。Python編程語言的可拓展性能夠讓語言嵌入到其他語言中,可以提供必要的基本功能。

2.基于Python的混合語言編程

2.1混合語言編程軟件結構框架

Python編程語言應用到混合語言編程中,一種是進行拓展,另一種是通過嵌入來實現。其中,拓展是通過從C語言實現對Python的拓展,需要從相應編程語言中進行對應模塊功能的調取和應用。而嵌入的實現主要是通過Python解釋器來實現的,通過Python解釋器在相應程序中應用來實現,這樣相應的應用程序可以解釋Python的腳本程序,確保編程目標的實現。

2.2典型程序結構

在C語言源程序中,Python拓展模塊具備一定的代表性,例如:Python.h頭文件,文件在Python的所有內部數據結構以及函數原型都可以進行定義;但是同時也需要定義一個例外對象,這一個對象主要是針對例外對象來說的。這一模塊主要是對函數的實現方式進行定義,通過函數來將參數表示的Python對象進行轉換,使其如何C語言程序的格式要求,在處理好格式后,轉換成Python對象,最后傳回Python解釋器。如果這一過程中出現異常問題,則可以借助已經設定的例外對象實現返回。在源程序中,需要對拓展模塊定義的函數名以及函數實現對應關系列表,以此來實現相應拓展模塊的函數初始化操作。除了一般的手工代碼編寫途徑,還能選擇通過自動化工作來實現,可以借助SWIG,通過對現有的代碼進行掃描,自動生成需要的代碼,這樣做也可以在一定程度上促進遺留代碼轉化效率提升。現階段,SWIG在很多大型科學計算項目開發中都有很好的應用效果。相對于一般模塊化的拓展來說,Python中嵌入應用程序,可以結合具體的嵌入目的差異來實現,為用戶提供多種選擇,這些嵌入還會對應用程序專用拓展產生影響,所以,嵌入的實現相對更為繁瑣,其主要原理則是通過Python提供的C?API來實現數據格式轉化,借助例外處理的方式來實現程序設計目標。

2.3?Python與C/C++實現混合編程的程序設計要點

Python自身存在一定的不足,Ctypes?是一個為?Python?準備的外部函數庫。它提供兼容C的數據類型,并允許調用DLL或共享庫中的函數。通過它,可以使用純粹的?Python?包裝這些函數庫。下面就分享一部分Python與C/C++實現混合編程的程序設計:

在vs2017新建一個空文件testpy3,新建文件test.c和math_test.py

//test.c

#include?<Python.h>

int?main(int?argc,?char?*argv[])

{

//設定參數值

int?a=3;

int?b=6;

//初始化

Py_SetProgramName(argv[0]);

Py_Initialize();

//測試python3的打印語句

PyRun_SimpleString("print('Hello?Python!')\n");

//執行import語句,把當前路徑加入路徑中,為了找到math_test.py

PyRun_SimpleString("import?os,sys");

PyRun_SimpleString("sys.path.append('./')");

//測試打印當前路徑

PyRun_SimpleString("print(os.getcwd())");

PyObject?*pModule;

PyObject?*pFunction;

PyObject?*pArgs;

PyObject?*pRetValue;

//import?math_test

pModule?=?PyImport_ImportModule("math_test");

if(!pModule){

printf("import?python?failed!!\n");

return?-1;

}

//對應math_test.py中的def?add_func(a,b)函數

pFunction?=?PyObject_GetAttrString(pModule,?"add_func");

if(!pFunction){

printf("get?python?function?failed!!!\n");

return?-1;

}

if(!pModule){

printf("import?python?failed!!\n");

return?-1;

}

Py_Finalize();

//方便查看

while(1);

return?0;

}

通過Python與C/C++實現混合編程,用C或C++改寫關鍵部分,可以提高運行速度。

參考文獻

[1] 劉曜碩.Python與R語言混合編程方法的實踐[J].電子技術與軟件工程,2021(5):40-41.

[2] 韓婷,劉暢,趙若晗,等.基于C語言和MATLAB的混合編程在醫學圖像處理課程中的應用[J].軟件,2018,39(10):26-29.

[3]? 宮薇薇,齊向春,裴世廉.?Python與R語言混合編程方法的研究和應用[J].?計算機應用與軟件,2018,35(1):28-31.

[4] 潘俊男.三種語言在N體模擬中的計算效率比較研究[D].?大理:大理大學,2021.

[5] 劉正.?積木式python編程系統的研究與實現[D].?北京:北京郵電大學,2020.

[6] 耿穎.使用Python語言的GUI可視化編程設計[J].?單片機與嵌入式系統應用,2019,19(2):20-22,44.

猜你喜歡
數據分析
我校如何利用體育大課間活動解決男生引體向上這個薄弱環節
體育時空(2016年8期)2016-10-25 18:02:39
Excel電子表格在財務日常工作中的應用
淺析大數據時代背景下的市場營銷策略
新常態下集團公司內部審計工作研究
中國市場(2016年36期)2016-10-19 04:31:23
淺析大數據時代對企業營銷模式的影響
基于讀者到館行為數據分析的高校圖書館服務優化建議
科技視界(2016年22期)2016-10-18 14:37:36
主站蜘蛛池模板: v天堂中文在线| 国产噜噜噜视频在线观看 | 在线欧美a| 久久免费精品琪琪| 免费午夜无码18禁无码影院| 日韩欧美91| 国产青青操| 日本精品αv中文字幕| 国产精品欧美在线观看| 亚洲国产成熟视频在线多多| 东京热高清无码精品| 91精品国产自产91精品资源| 国内精品视频在线| 色综合色国产热无码一| 国产精品第| 国产精品丝袜在线| 日韩高清欧美| 日韩免费无码人妻系列| 国产喷水视频| 青草免费在线观看| 欧美日韩一区二区在线播放 | 激情在线网| 亚洲成人免费看| 欧美国产日产一区二区| 亚洲高清中文字幕| 日韩精品专区免费无码aⅴ| 成人自拍视频在线观看| 国产中文在线亚洲精品官网| 亚洲首页在线观看| 日韩无码精品人妻| 欧美中文一区| 国产亚洲高清视频| 视频二区国产精品职场同事| 伊人久综合| 欧美成人亚洲综合精品欧美激情| 欧美国产综合色视频| 日韩欧美中文在线| 国产色爱av资源综合区| 日韩精品一区二区三区swag| 欧美一区二区三区国产精品| 国产精品人人做人人爽人人添| 亚洲第一区欧美国产综合| 蜜臀AVWWW国产天堂| 精品国产成人三级在线观看| 无码人中文字幕| 日韩一区二区在线电影| 国产欧美视频在线观看| 成人在线不卡视频| 国产黄色片在线看| 成人免费午夜视频| 中文字幕精品一区二区三区视频| 99在线视频精品| 一本色道久久88| 91蝌蚪视频在线观看| 怡红院美国分院一区二区| 日韩精品专区免费无码aⅴ| 无码啪啪精品天堂浪潮av| 免费a在线观看播放| 国产成人AV男人的天堂| 国产精品视频第一专区| 伊人狠狠丁香婷婷综合色| 亚洲最大综合网| 国产主播喷水| 久久精品最新免费国产成人| 国产免费a级片| 亚洲精品va| 亚洲黄网在线| 97综合久久| yjizz视频最新网站在线| 97se亚洲综合在线| 一区二区欧美日韩高清免费| 国产又粗又猛又爽视频| 欧美亚洲欧美区| 久久无码av一区二区三区| 黄网站欧美内射| …亚洲 欧洲 另类 春色| 亚洲日本中文字幕乱码中文| 欧美日一级片| 亚洲 欧美 日韩综合一区| 欧美国产视频| 欧美伦理一区| 福利在线不卡|