cython和python分別是什麼?區別有哪些?
從字面上來講,cython和python經常會被混淆在一起,也經常會有人問cython和python區別是什麼?它們之間有什麼關係或聯絡?對此小編特整理了這篇文章,我們一起來看看吧。
Cython是Python的一個超集,結合了Python的易用性和原生程式碼的速度,可以編譯成C語言,產生的效能提升可以從幾個百分點到幾個數量級,具體取決於手頭的任務。
使用Cython,你可以避開Python的許多原生限制,或者完全超越Python,而無需放棄Python的簡便性和便捷性。
Python程式碼可以直接呼叫C模組。這些C模組可以是通用的C庫或專門為Python工作的庫。Cython生成第二種型別的模組:與Python內部對話的C庫,可以與現有的Python程式碼繫結在一起。
Cython程式碼在設計上看起來很像Python程式碼。如果你給Cython編譯器提供了一個Python程式,它將會按原樣接受它,但是Cython的原生加速器都不會起作用。但是如果你用Cython的特殊語法來修飾Python程式碼,那麼Cython就可以用快速的C代替慢的Python物件。
請注意,Cython的方法是漸進的。這意味著開發人員可以從現有的Python應用程式開始,透過對程式碼立刻進行更改來加快速度,而不是從頭開始重寫整個應用程式。
這種方法通常與軟體效能問題的性質相吻合。在大多數程式中,絕大多數CPU密集型程式碼都集中在一些熱點上,也就是帕累託原則的一個版本,也被稱為80/20規則。因此,Python應用程式中的大部分程式碼不需要進行效能最佳化,只需要幾個關鍵部分。你可以逐漸將這些熱點轉換為Cython,從而獲得你最需要的效能提升。程式的其餘部分可以保留在Python中,以方便開發人員。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2907135/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL、NoSQL分別是什麼?有什麼區別?MySql
- Java和Python是什麼?有什麼區別?JavaPython
- 等保1.0和2.0分別是什麼?兩者有什麼區別?
- 什麼是Cython?和Python有什麼關係?Python
- Python的容器有哪些?分別有什麼作用?Python
- cookie是什麼?和session有什麼區別?CookieSession
- 什麼是python?與PHP有什麼區別?PythonPHP
- python is和==的區別是什麼?Python
- 請教大家元件和模組有什麼區別,它們的概念分別是什麼?元件
- 駭客型別有哪些?他們有什麼區別?型別
- Python和Go是什麼?它們之間有什麼區別?PythonGo
- Linux系統終端型別有哪些?分別是什麼?Linux型別
- 雲原生和雲端計算分別指什麼?有什麼區別?
- 什麼是Python直譯器?和Python IDE有什麼區別?PythonIDE
- python和nodejs有什麼區別PythonNodeJS
- Python語言中=和==有什麼區別?Python
- 【轉載】git github gitlib gitlab分別是什麼,有什麼區別?GithubGitlab
- 什麼是報表工具?和 EXCEL 有什麼區別?Excel
- Java 介面和抽象類是什麼,有什麼區別Java抽象
- 什麼是 MicroPython?和CPython有什麼區別?Python
- 什麼是SCRM系統?和CRM有什麼區別?
- png是什麼格式 png和jpg有什麼區別
- xpgu是什麼 xgpu和xgp有什麼區別GPU
- *和body有什麼區別
- Python和C#有哪些區別?PythonC#
- python的模組和類有什麼區別Python
- Python和C語言有什麼區別?PythonC語言
- CRM和CRM系統是什麼意思,有什麼區別?
- 反向代理是什麼?和正向代理有什麼區別呢?
- linux和ubuntu區別是什麼?有什麼關係?LinuxUbuntu
- 福祿克萬用表的硬芯和牛屎芯分別是什麼,有什麼區別?
- Python和C語言區別是什麼?PythonC語言
- pycharm和python區別(關係)是什麼PyCharmPython
- 【網路安全】病毒和木馬分別指什麼?兩者有什麼區別?
- Linux中程式與程式分別指什麼?兩者的區別有哪些?Linux
- PHP與Python有什麼區別?各具有哪些特點?PHPPython
- 什麼是Asp.net Core?和 .net core有什麼區別?ASP.NET
- 優思學院|CTP和CTQ是什麼?有什麼區別?