本文目錄一覽:
北大青鳥設計培訓:怎樣才能提高Python運行效率?
python逐漸走入人們的視線,成為熱門編程語言,隨之而來,加入python培訓的准程序員大軍也成為社會熱點。
Python具有許多其他編程語言不具備的優勢,譬如能通過極少量代碼完成許多操作,以及多進程,能夠輕鬆支持多任務處理。
除了多種優勢外,python也有不好的地方,運行較慢,下面電腦培訓為大家介紹6個竅門,可以幫你提高python的運行效率。
1.在排序時使用鍵Python含有許多古老的排序規則,這些規則在你創建定製的排序方法時會佔用很多時間,而這些排序方法運行時也會拖延程序實際的運行速度。
最佳的排序方法其實是儘可能多地使用鍵和內置的sort()方法。
2.交叉編譯你的應用開發者有時會忘記計算機其實並不理解用來創建現代應用程序的編程語言。
計算機理解的是機器語言。
為了運行你的應用,你藉助一個應用將你所編的人類可讀的代碼轉換成機器可讀的代碼。
有時,你用一種諸如Python這樣的語言編寫應用,再以C++這樣的語言運行你的應用,這在運行的角度來說,是可行的。
關鍵在於,你想你的應用完成什麼事情,而你的主機系統能提供什麼樣的資源。
3.關鍵代碼使用外部功能包Python簡化了許多編程任務,但是對於一些時間敏感的任務,它的表現經常不盡人意。
使用C/C++或機器語言的外部功能包處理時間敏感任務,可以有效提高應用的運行效率。
這些功能包往往依附於特定的平台,因此你要根據自己所用的平台選擇合適的功能包。
簡而言之,這個竅門要你犧牲應用的可移植性以換取只有通過對底層主機的直接編程才能獲得的運行效率。
4.針對循環的優化每一種編程語言都強調最優化的循環方案。
當使用Python時,你可以藉助豐富的技巧讓循環程序跑得更快。
然而,開發者們經常遺忘的一個技巧是:盡量避免在循環中訪問變數的屬性。
5.嘗試多種編碼方法每次創建應用時都使用同一種編碼方法幾乎無一例外會導致應用的運行效率不盡人意。
可以在程序分析時嘗試一些試驗性的辦法。
譬如說,在處理字典中的數據項時,你既可以使用安全的方法,先確保數據項已經存在再進行更新,也可以直接對數據項進行更新,把不存在的數據項作為特例分開處理。
6.使用較新的Python版本你要保證自己的代碼在新版本里還能運行。
你需要使用新的函數庫才能體驗新的Python版本,然後你需要在做出關鍵性的改動時檢查自己的應用。
只有當你完成必要的修正之後,你才能體會新版本的不同。
使用Cython讓python代碼的速度提高30倍以上
毫無疑問,Python是社區最喜愛的編程語言!到目前為止,它是最容易使用的語言之一,因為python代碼是用一種直觀的、人類可讀的方式編寫的。
然而,你經常會反覆聽到一些對Python的抱怨,尤其是來自C語言愛好者的抱怨,這些抱怨無非就是Python很慢。
是的,他們並沒有說錯。
與許多其他編程語言相比,Python確實很慢。Benchmark game有一些比較不同編程語言在不同任務上的速度的可靠基準。
對於Python,我們有幾種不同的方法可以加快速度:
如果你所做的實際上可以並行化,比如數據預處理或矩陣運算,這些都是很好的方法。
但是如果你的代碼是純Python的呢?如果你不得不使用一個很大的for循環,且不能將數據放入矩陣中,因為數據必須按順序處理,那會怎樣?有沒有辦法加快Python本身的速度呢?
答案是肯定的,這就是Cython來加速原生Python代碼的地方。
什麼是Cython?
Cython是Python和C/C++之間的一個中間步驟。它允許你編寫純Python代碼,並且只需要做一些小修改,然後將其直接翻譯成C代碼。
使用Cython,我們將向該變數添加一個類型:
安裝Cython只需要一行簡單的pip命令:
Cython中的類型
使用Cython時,變數和函數分別有不同的類型。
對於變數我們有以下類型:
注意所有這些類型都來自C/C++ ! 而對於方法我們有以下類型:
了解了Cython類型之後,我們就可以直接實現加速了!
如何使用Cython加速你的代碼
我們要做的第一件事是設置Python代碼基準:用於計算數值階乘的for循環。原生Python代碼如下:
注意到該函數具有cpdef,以確保我們可以從Python中調用它。並且注意到到循環變數i是具有類型的。你需要為函數中的所有變數設置類型,以便C編譯器知道使用哪種類型!
接下來,創建setup.py文件,該文件將Cython代碼編譯為C代碼:
並執行編譯:
Boom ! 可以看到我們的C代碼已經編譯好了,可以使用了!
你將看到,在Cython代碼所在的文件夾中,你擁有運行C代碼所需的所有文件,包括run_cython.c文件。如果你感興趣,可以查看一下Cython生成的C代碼!
現在我們準備測試我們新的並且超級快的C代碼!查看下面的代碼,它實現了一個速度測試,將原生Python代碼與Cython代碼進行比較。
代碼非常直觀,我們以與普通Python相同的方式導入文件,並以與普通Python相同的方式運行函數!
Cython幾乎可以讓你在所有原生Python代碼上獲得良好的加速,而不需要太多額外的工作。需要注意的關鍵是,循環次數越多,處理的數據越多,Cython可以提供的幫助就越多。
下表顯示了Cython為不同的數值階乘帶來的加速性能。當數值為10000000的時候,可以看到,我們的Cython加速超過了36倍。
python代碼寫好了怎麼運行
python代碼寫好了運行的方法:首先文件地址欄輸入cmd,敲入回車;然後在對應的目錄下輸入【python hello.py】即可運行程序。
相關學習推薦:python教程
python代碼寫好了運行的方法:
1、如下圖所示,有一個hello.py的文件
2、我們直接在上面的文件地址欄輸入cmd,敲入回車
3、可以看到,直接就定位到對應的目錄下
4、我們輸入python hello.py,可以運行程序
5、當然,也可以直接運行hello.py
以上就是小編分享的關於python代碼寫好了怎麼運行的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/307218.html