講真,你知道Python咋來的嗎?


摘要:什么是Python?它怎么誕生的?它跟C語言、shell語言有什么區別?語言環境是怎么樣的?這些你都知道嗎?

Python誕生在一個聖誕節

Python誕生於1989年的一個聖誕節,其創作者Guido van Rossum為了打發聖誕節假期的無聊,便開始了Python語言的編寫。Python第一個發行版本是在1991年,起名為Python是源自於Guido喜歡的一檔電視節目——Monty Python´s Flying Circus 。Guido在創作Python的時,希望有一種語言可以像C語言那樣可以調用計算機的功能接口,又可以像shell那樣進行輕松的編程,所以他在1989年的時候創建了Python這門編程語言。

Python的優勢VS不足

我們知道想掌握一門語言,首先得先了解其優勢和不足。Python第一個優勢在於語法優雅簡單,Python寫起來就像寫英文一樣,可讀性非常高,清晰易懂。比較容易理解。第二個優勢是編程范式,它支持很多編程范式,面向過程、面向對象,它還支持函數式編程。第三點優勢是Python的一個動態解釋性, Python代碼是不需要編譯的,可以直接由Python解釋器來進行運行,也可以在運行中修改類的屬性,相較於Java或者說C語言的代碼來說,這是一個很大的優勢。第四點優勢,第三方庫。Python擁有功能強大並且數量龐大的第三方庫。迄今為止,它的第三方庫已經超過18萬個,涉及到各行各業、多個領域,非常方便。Python有一個代號叫做膠水語言,這也是它的第五點優勢。這個代號的來由是因為Python可以去調用Java以及C語言編寫好的模塊。

那我們再來看一下Python的缺點,Python比較致命的缺點是運行速度慢,相較於Java、 C語言來說是非常慢的。雖然它的解釋器是由C語言和Java語言編寫的,但這也不能彌補它運行速度慢的缺點。不過就一個程序而言,它並不是每時每刻都要保持着一個超高的運行速度,所以我們可以用膠水語言這個特性去結合一些其它的代碼、比如說Java,比如說C,在我們這個程序里特別需要運行速度的地方,用Java和C語言去編寫代碼,然后用Python來調用,就可以去彌補這個缺點,並且可以更合理地去利用我們以前會的編程語言。

還有一點,線程災難,這是Python本身機制的問題。在Python里,為了保證線程數據的安全性,它天然地給線程加了一把鎖,只有拿到這把鎖的線程才可以執行。所以說Python多線程是一個偽多線程。它實際上只有一個線程在運行,這個也是它的一個缺點。

Python和C語言、shell語言的區別

好,那了解完Python的優點和缺點以后,那它和其他語言孰好孰壞,我們該pick哪一個呢?下面我們主要看一下Python和C語言、shell的相同點和區別。

C語言和Python語言都可以去編寫一些程序和工具,就像我們平常用到的一些APP、或者說一些其它的程序;Python和shell都是腳本語言,這是它們的一些相似性,再來看一下它們的一些區別點。

首先運行速度,C語言和shell語言的運行速度都會比Python要高一些,但C語言在學起來的時候可能有一些困難,當然這個困難是相對於Python和shell語言來說的。Python和shell語言它們都比較簡單。

第三方庫,也就是我們的工具包,Python的工具包非常的多。大家以后如果經常使用Python的話,會發現有一些功能根本沒必要思考自己怎么來完成,我們只需要導入一些工具包,就可以很簡單的實現。而C和shell語言它們是沒有很多工具包的。

還有代碼的復用性,C和Python它們可以依照程序員的技能來提高代碼的復用性,而shell作為一個腳本語言,主要是用於運維方面,所以它代碼的復用性相較於C和Python而言會低一些。可移植性和代碼的復用性上是很相似的,C語言它可以去進行一些系統內核的編寫,而Python和shell是不支持的。

自動的內存管理,C和shell語言沒有自動的內存管理的,而Python作為高級編程語言,它有這樣的功能。可擴展性以及動態語言,這兩點同樣也只有Python支持而C和shell是不支持的。

最后一點內存操作,在Python中因為解釋器已經自動的去管理內存了,所以說它本身它其實並沒有一些特別多的內存操作。而C和shell則不同,它們可直接去操控內存。

那通過我們上面的對比就可以發現了,Python它可以幫助我們去減少一些代碼量,或者說減少一些程序員該如何去思考這段代碼怎么完成的事物。他會讓我們將主要的精力放在我們的業務邏輯上,這是它的一個很大的優點。

好了,看完本文介紹,是不是對Python更加感興趣了呢?更多干貨課程請上華為雲學院,體系化的培訓課程,快速完成學習覆蓋,讓您輕松掌握Python的精彩內容。

→點擊直達華為雲學院,get更多新技能!

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM