1. Cython是什么?
創(chuàng)新互聯(lián)公司擁有十多年成都網(wǎng)站建設(shè)工作經(jīng)驗(yàn),為各大企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),對(duì)于網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、App定制開(kāi)發(fā)、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、程序開(kāi)發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、空間域名等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷、管理等網(wǎng)站化運(yùn)作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項(xiàng)目的能力。
Cython是一個(gè)編程語(yǔ)言,它通過(guò)類似Python的語(yǔ)法來(lái)編寫(xiě)C擴(kuò)展并可以被Python調(diào)用.既具備了Python快速開(kāi)發(fā)的特點(diǎn),又可以讓代碼運(yùn)行起來(lái)像C一樣快,同時(shí)還可以方便地調(diào)用C library。
2. 如何安裝Cython?
跟大多數(shù)的Python庫(kù)不同,Cython需要一個(gè)C編譯器,在不同的平臺(tái)上配置方法也不一樣。
2.1 配置gcc
windows
安裝MingW-w64編譯器:
conda install libpython m2w64-toolchain -c msys2
在Python安裝路徑下找到\Lib\distutils文件夾,創(chuàng)建distutils.cfg寫(xiě)入如下內(nèi)容:
macOS
安裝XCode即可
linux:gcc一般都是配置好的,如果沒(méi)有就執(zhí)行這條命令:
sudo apt-get install build-essential
2.2 安裝cython庫(kù)
如果沒(méi)安裝Anaconda:?pip install cython
如果安裝了Anaconda:?conda install cython
3. 在Jupyter Notebook上使用Cython
首先加載Cython擴(kuò)展,使用魔術(shù)命令?%load_ext Cython
接下來(lái)運(yùn)行Cython代碼,使用魔術(shù)命令?%%cython

4. 試試Cython到底有多快
常規(guī)Python函數(shù),運(yùn)行時(shí)間559 ns
Cython def函數(shù),聲明一個(gè)Python函數(shù),既可以在模塊內(nèi)調(diào)用,也可以在模塊外調(diào)用。模塊內(nèi)運(yùn)行時(shí)間524.2 ns,模塊外運(yùn)行時(shí)間512 ns
Cython cpdef函數(shù),聲明一個(gè)C函數(shù)和一個(gè)Python wrapper,在模塊內(nèi)被當(dāng)做C函數(shù)調(diào)用,在模塊外被.py文件當(dāng)做Python函數(shù)調(diào)用。模塊內(nèi)運(yùn)行時(shí)間43.7 ns,模塊外運(yùn)行時(shí)間81.7 ns
Cython cdef函數(shù),聲明一個(gè)C函數(shù),不可以在模塊外被Python調(diào)用。模塊內(nèi)運(yùn)行時(shí)間34.8 ns
4.1 常規(guī)Python函數(shù)

4.2 Cython def函數(shù)

4.3 Cython cpdef函數(shù)

4.4 Cython cdef函數(shù)

5. 在Cython中使用Python對(duì)象
常規(guī)Python函數(shù),運(yùn)行時(shí)間549微秒
Python內(nèi)置函數(shù),運(yùn)行時(shí)間104微秒
Cython函數(shù),運(yùn)行時(shí)間51.6微秒
A?=?list(range(10000))
5.1 常規(guī)Python函數(shù)

5.2 Python內(nèi)置函數(shù)
%timeit?sum(A)
5.3 Cython函數(shù)

6. 在.pyx文件中使用Cython
建立名為example.pyx的文件,鍵入如下代碼
在控制臺(tái)使用cythonize命令,將.pyx文件轉(zhuǎn)為.c文件再編譯為C模塊

本文名稱:10分鐘帶你入門(mén)Cython
轉(zhuǎn)載來(lái)于:http://chinadenli.net/article4/ipgjoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、ChatGPT、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)