Python的創始人爲吉多·範羅蘇姆(Guido van Rossum),如下圖,少數幾個不禿頭的語言創始人。1989年的聖誕節期間,Guido爲了打發聖誕節的無聊時光,開始寫能夠解釋Python語言語法的直譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他希望這個新的叫做Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。
最新的TIOBE排行榜,Python趕超PHP佔據第4, Python崇尚優美、清晰、簡單,是一個優秀並廣泛使用的語言。
Python系列教學,免費獲取,遇到bug及時反饋,討論交流可加扣裙<60 61 15 02 7>
Python可以應用於衆多領域,如:數據分析、元件整合、網路服務、影象處理、數值計算和科學計算等衆多領域。目前業內幾乎所有大中型網際網路企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。
一定要注意的一點,我們說的Python,其實說的是Python直譯器。
Python剛問世的時候,大多數公司原有的軟體是python2.+寫的(這不廢話嗎?),由於開發軟體是需要成本的,因此一些公司無法拋棄以前的程式碼,所以曾經在2008年推出3.+版本的python時,還需要推出2.+版本的升級版本,給公司2.+版本開發的軟一段時間過度。但是公司的軟體是有生命週期的,歷史遺留的2.+開發的軟體逐漸會消失,所以2.+版本不再更新了,以後統一都使用3.+版本。
我們現在知道了Python是一門直譯語言,程式碼想執行,必須通過直譯器執行,Python的直譯器本身也可以看作是個程式(翻譯官司是哪國人不重要),這個程式是什麼語言開發的呢? 答案是好幾種語言? what? 因爲Python有好幾種直譯器,分別基於不同語言開發,每個直譯器特點不同,但都能正常執行我們的Python程式碼,下面 下麪分別來看下各種不同類型的Python直譯器的區別。
CPython是使用最廣且被的Python直譯器。本教學以CPython爲準。當我們從Python官方網站下載並安裝好Python 2.7後,我們就直接獲得了一個官方版本的直譯器:CPython。這個直譯器是用C語言開發的,所以叫CPython。在命令列下執行python就是啓動CPython直譯器。
IPython是基於CPython之上的一個互動式直譯器,也就是說,IPython只是在互動方式上有所增強,但是執行Python程式碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但內核其實都是呼叫了IE。CPython用>>>作爲提示符,而IPython用In [序號]:作爲提示符。
PyPy是另一個Python直譯器,它的目標是執行速度。PyPy採用JIT技術,對Python程式碼進行動態編譯(注意不是解釋),所以可以顯著提高Python程式碼的執行速度。
絕大部分Python程式碼都可以在PyPy下執行,但是PyPy和CPython有一些是不同的,這就導致相同的Python程式碼在兩種直譯器下執行可能會有不同的結果。如果你的程式碼要放到PyPy下執行,就需要瞭解PyPy和CPython的不同點。
Jython是執行在Java平臺上的Python直譯器,可以直接把Python程式碼編譯成Java位元組碼執行。
IronPython和Jython類似,只不過IronPython是執行在微軟.Net平臺上的Python直譯器,可以直接把Python程式碼編譯成.Net的位元組碼。
命令列輸入python,然後輸入print('hello world')
,致敬這句偉大的話!如果執行成功,則表明你的Python安裝沒有任何問題。此時你可以想想發明計算機的那個時刻,計算機輸出了一句"hello world",那是孕育新生兒的內心的舒暢。
接下來我們看看其他語言的hello world,讓你體會python的簡潔。
#include <iostream>
int main(void)
{
stdout<"hello world";
}
#include <stdio.h>
int main(void)
{
printf("\nhello world!");
return 0;
}
public class HelloWorld{
// 程式的入口
public static void main(String args[]){
// 向控制檯輸出資訊
System.out.println("hello world!");
}
}
<?php
echo "hello world!";
?>
# 六、日本人開發的,砸日本車的時候,順手就把你拖出去打死了,祭天
puts "hello world."
package main
import "fmt"
func main(){
fmt.Printf("hello world!\n");
}