Python可以說是目前最火的語言之一了,人工智慧的興起讓Python一夜之間變得家喻戶曉,Python號稱目前最簡單易學的語言,現在有不少高校開始將Python作為大一新生的入門語言。本萌新也剛開始接觸Python,發現Python與其他語言確實有很大的差別。 Python是由C語言實現的,因此想把Python與C語言做一個簡單的比較。
一、
C語言是編譯型語言,經過編譯後,產生機器碼,然後再運行,執行速度快,不能跨平台,一般用於作業系統,驅動等底層開發。
Python是編譯型還是解釋型這個界限並不明顯,但大致上可以理解為解釋型語言,執行速度慢,由於Python虛擬機,Python是可以跨平台的,Python高度集成適合於軟體的快速開發。
二、
C語言的資料型別如下圖:
#C語言中需要事先定義變數類型,以int型別為例,定義int型變數後,就會在記憶體中開闢4個位元組,再來進行初始化,由於長度是指定的,在運算過程中需要考慮,溢出,精確度等問題。
Python中的資料型態:
1.Number:數字
Int
Float
Bool
Complex
2.String:字串
3.List:列表
4.Tupel:元組
5.Sets:集合
6.Dictionary:字典
python不需要事先定義變數類型,以a=3為例,在記憶體中存放一個整數3,然後再用變數a指向3,變數a是沒有類型的,我們所說的類型是指變數所指的記憶體中物件的類型。
從資料型別就可以看出Python的友善性,基本資料型別變少了,沒有煩人的指針,不需要考慮資料溢出和精確度的問題,當在程式中需要使用某個變量時,就能夠直接使用,而不需要在程式開頭定義變數。除此之外,Python也提供了str,list,dict這些強大的資料類型,讓程式開發變的更為簡單。
三、
Python也提供了一個互動介面,輸入python進入互動介面,輸入exit()退出互動介面,類似Linux終端,輸入一行指令,執行一行,為學習Python提供了很大的便利。
四、
在運算子和優先權上面,兩者並沒有大的區別,但在python中沒有自加和自減運算符,在邏輯運算子上Python也區別於C語言,Python中是and,or,not ,而C語言中則是&&,||,!
六、
Python中透過縮進來表示語句體,C語言透過{}來表示語句體,並且在Python中每一語句結尾後沒有分號,判斷語句if else ,這兩者沒有差別,迴圈語句while也沒有,只是for迴圈,Python用for in來表示。
七、
Python有很多內建函數(build in function),不需要寫頭文件,Python還有很多強大的模組,需要時導入便可。 C語言在這一點上遠不及Python,大多時候都需要自己手動實現。
八、
C語言中的函數,有著嚴格的順序限制,如果要呼叫函數,函數需要在本次呼叫之前就需要被實現,或者在程式開頭事先聲明,而Python中則沒有這個限制,Python中還有高階函數這個概念,即函數名也可當作函數參數,函數名也是一種變量,指向內存中的某個函數,這種寫法可以大大減少代碼長度。
python中也提供了可變參數和關鍵字參數,這使得函數的功能大大提高,原來需要寫多個函數,現在只需要一個函數就可以實現這些功能。
九、
C語言是過程導向的語言,很多時候都需要自己手動實作函數來完成某一功能。 Python中引入了類別和對象,是物件導向程式設計的語言,物件導向使得程式碼的可重用性大大提高,資料的封裝性也更好。物件導向與過程導向的具體比較就不多說了,但有兩句非常重要的話:類別是抽象的,而物件是具體的。
十、
python中既有函數也有方法,常常讓人疑惑,我個人覺得也沒有必要區分的非常清楚,但是兩者還是有較大的區別:函數是自由的,而方法是受限的。在程式設計的時候需要分清楚呼叫的是方法還是函數。
以上是python與c語言的不同的詳細內容。更多資訊請關注PHP中文網其他相關文章!