1. Cython是什么?
創(chuàng)新互聯(lián)公司擁有十多年成都網(wǎng)站建設(shè)工作經(jīng)驗(yàn),為各大企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),對于網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、App定制開發(fā)、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、空間域名等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營銷、管理等網(wǎng)站化運(yùn)作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項(xiàng)目的能力。
Cython是一個(gè)編程語言,它通過類似Python的語法來編寫C擴(kuò)展并可以被Python調(diào)用.既具備了Python快速開發(fā)的特點(diǎn),又可以讓代碼運(yùn)行起來像C一樣快,同時(shí)還可以方便地調(diào)用C library。
2. 如何安裝Cython?
跟大多數(shù)的Python庫不同,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寫入如下內(nèi)容:
macOS
安裝XCode即可
linux:gcc一般都是配置好的,如果沒有就執(zhí)行這條命令:
sudo apt-get install build-essential
2.2 安裝cython庫
如果沒安裝Anaconda:?pip install cython
如果安裝了Anaconda:?conda install cython
3. 在Jupyter Notebook上使用Cython
首先加載Cython擴(kuò)展,使用魔術(shù)命令?%load_ext Cython
接下來運(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對象
常規(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分鐘帶你入門Cython
轉(zhuǎn)載來于:http://jinyejixie.com/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)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)