㈠ python語言的缺點
Python並不是沒有缺點的,最主要的缺點有以下幾個:
Python的執行速度不夠快。當然,這也不是一個很嚴重的問題,一般情況下,我們不會拿Python語言與C/C++這樣的語言進行直接比較。在Python語言的執行速度上,一方面,網路或磁碟的延遲,會抵消掉部分Python本身消耗的時間;另一方面,因為Python特別容易和C結合起來,因此,我們可以通過分離一部分需要優化速度的應用,將其轉換為編譯好的擴展,並在整個系統中使用Python腳本將這部分應用連接起來,以提高程序的整體效率。
Python的GIL鎖限制並發:Python的另一個大問題是,對多處理器支持不好。如果讀者接觸Python時間比較長,那麼,一定聽說過GIL這個詞。GIL是指Python全局解釋器鎖(GlobalInterpreterLock),當Python的默認解釋器要執行位元組碼時,都需要先申請這個鎖。這意味著,如果試圖通過多線程擴展應用程序,將總是被這個全局解釋器鎖限制。當然,我們可以使用多進程的架構來提高程序的並發,也可以選擇不同的Python實現來運行我們的程序。
Python2與Python3不兼容:如果一個普通的軟體或者庫,不能夠做到後向兼容,那麼,它會被用戶無情的拋棄了。在Python中,一個槽點是Python2與Python3不兼容。因為Python沒有向後兼容,給所有的Python工程師帶來了無數的煩惱。
㈡ 為什麼python這個代碼會顯示無響應
可能是數組越界了
㈢ Python 語言為什麼執行速度相當慢不是一般的慢!!
java和c都是編譯型語言,一個是解釋型語言。
編譯型語言在程序執行之前,有一個單獨的編譯過程,將程序翻譯成機器語言,以後執行這個程序的時候,就不用再進行翻譯了。
解釋型語言,是在運行的時候將程序翻譯成機器語言,所以運行速度相對於編譯型語言要慢。
當然更多的是與演算法有關而不是語言。你python代碼換成這個看看,速度是不是比你快多了
def primes1(n):
""" Returns a list of primes < n """
sieve = [True] * (n/2)
for i in xrange(3,int(n**0.5)+1,2):
if sieve[i/2]:
sieve[i*i/2::i] = [False] * ((n-i*i-1)/(2*i)+1)
return [2] + [2*i+1 for i in xrange(1,n/2) if sieve[i]]
import time
start = time.time()
a = primes1(4000000)
end = time.time()
print a
print 'used time:' end-start
㈣ python通過有道實現英漢翻譯,輸出結果為什麼會一致差不到
首先 你正則表達式應該不對,再好好分析分析頁面。而且 word=word.replace('', '+') 你這一句是錯誤的。
㈤ python翻譯器中一段編碼不運行
我有一小段代碼,我正試圖以更好的方式編寫,因為這段代碼有很多「if」語句。這是一些大項目的小代碼。問題是:在代碼運行時,函數「f」、「g」或/和「k」不能返回任何數據或數字數據。?
只要沒有返回任何值,就必須跳過其餘的計算,因為數學運算(發生在這些函數中)無法完成。我試圖用TRY/CATCH方法重寫代碼,但無法使其工作。我試圖避免「如果」的陳述和重寫簡潔的方式。我很感激你的幫助。在def f(output)。
㈥ 電腦運行python程序 程序未響應
在第一個while循環裡面,你改變了guess的值,導致while陷入了死循環。
㈦ 執行python文件時沒反應
你的代碼定義了一個函數,請注意,定義函數的代碼是不會自動執行的,定義後如想運行,需要調用。
在你的代碼最後加上「registerUser()」與def三個字母平齊縮進。
㈧ python寫的GUI程序在運行中顯示無反應
這很正常啊,你可以用多線程處理按鈕綁定的函數。