簡體   English   中英

Python是否有內聯語句?

[英]Does Python have an inline statement?

python在C中是否有類似於inline東西?

如果沒有,如何加快功能執行速度?

不,python沒有這樣的聲明。

但是,如果函數調用的開銷對您來說是個問題,那么使用Python之類的腳本語言是錯誤的選擇。 考慮將相關部分移入C擴展名。 如果這是您的選擇,請查看Cython

不,不是。 但是,有多種機制可以加快Python執行速度,例如,您可以從Python程序中調用本機C代碼,例如使用Boost.Python

Boost Python庫是用於連接Python和C ++的框架。 它使您無需使用特殊工具(僅使用C ++編譯器)即可快速,無縫地向Python展示C ++類的函數和對象,反之亦然。 它被設計為以非侵入方式包裝C ++接口,因此您不必為了包裝而完全更改C ++代碼,從而使Boost.Python成為將第三方庫公開給Python的理想選擇。 該庫對高級元編程技術的使用簡化了用戶的語法,因此包裝代碼具有一種聲明性接口定義語言(IDL)的外觀。

您可以從scipy下載一個名為Weave的庫,該庫允許您將c或c ++代碼內聯到python代碼中。 這樣可以加快速度。

但是python本身沒有內聯函數。

還有其他旨在加快計算速度的庫,例如scipy,numpy,我認為matplotlib是一個非常不錯的庫。 還有用於並行計算的iPython。

祝好運。

我不了解Python中的等效內聯功能。

假設您已經用盡慣用語言功能(例如列表理解等),則可以最好地加快其功能以檢查算法。

Python將為您優化代碼,但是您對其執行方式沒有任何影響。 為了加快任何python代碼的加載時間,您可以在執行之前將其編譯為字節碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM