隨着人工智能的火熱,python這門語言愈加火熱,不僅是受到程序員的追捧,更吸引不少其餘行業的人員,跨行學習python,考慮到python的學習者,水平良莠不齊,不少甚至以前完成沒接觸過編程,在這裏,老楊將結合自身開發經驗,以通俗易懂,幽默的方式,分享一些相關知識,讓你們快速上手python。老楊認爲編程和咱們現實生活都有對應關係的,但願你們能夠多用生活化的例子去學習,更容易加深你們的理解。python
老楊程序員
不少人都知道python火熱,要去學習python,那麼在學習以前,咱們首先應該知道,python究竟是什麼。shell
1982年**,爲了打發無聊的聖誕節,荷蘭人Guido von Rossum ,(咱們國人稱之爲龜叔)開始編寫Python的編譯器,python這個名字,來自於龜叔最愛的電視劇Monty Python’s Flying Circus。他但願這個新的叫作Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。1991年,第一個Python編譯器誕生。它是用C語言實現的,並可以調用C語言的庫文件,2008年,python3開始發佈數據庫
Python是一種計算機程序設計語言。是一種**[動態類型語言][動態類型語言],一門解釋性語言**,一門強類型的高級語言。最初被設計用於編寫自動化腳本(shell),隨着版本的不斷更新和語言新功能的添加,愈來愈多被用於獨立的、大型項目的開發。編程
到這裏,可能不少人就有些沒法理解,什麼叫作動態語言,什麼叫作解釋型語言,彆着急,待老楊一一道來安全
正如人和人溝通,須要語言,人和計算機交互也須要語言。計算機語言也叫程序語言(Program Language),是人與計算機交流和溝通的工具服務器
最初的計算機程序都是用0和1的序列表示的,程序員直接使用的是機器指令,無需翻譯,從紙帶打孔輸入便可執行獲得結果。這種只有0和1的語言,咱們稱之爲機器語言。後來爲了方便記憶,就將用0、1序列表示的機器指令都用符號助記,這些與機器指令一一對應的助記符就成了彙編指令,從而誕生了彙編語言。不管是機器指令仍是彙編指令都是面向機器的,統稱爲低級語言。由於是針對特定機器的機器指令的助記符,因此彙編語言是沒法獨立於機器(特定的CPU體系結構)的。但彙編語言也是要通過翻譯成機器指令才能執行的,因此也有將運行在一種機器上的彙編語言翻譯成運行在另外一種機器上的機器指令的方法,那就是交叉彙編技術。高級語言是從人類的邏輯思惟角度出發的計算機語言,抽象程度大大提升,須要通過編譯成特定機器上的目標代碼才能執行,一條高級語言的語句每每須要若干條機器指令來完成。高級語言獨立於機器的特性是靠編譯器爲不一樣機器生成不一樣的目標代碼(或機器指令)來實現的。編程語言
低級語言:機器語言(只有0和1)和彙編語言(特定的詞語和符號來表示一組指令)代碼編寫難度較大,可讀性較差。另外,低級語言編寫的程序只能在一種計算機上運行,想要運行在不一樣的機器上,必須重寫。低級語言是早期的一種計算機編程語言,如今只在不多的特殊場景中使用了。工具
高級語言:更接近於咱們平時正常的人思惟,其最大的特色是編寫容易,代碼可讀性好,可運行於不一樣機器。實現一樣的功能,使用高級語言耗時更少,程序代碼量更短,更容易閱讀學習
一句話總結:只有0,1的面向機器的語言咱們稱之爲機器語言,用特定符號表示指令集的面向機器的語言爲彙編語言,而更貼合咱們人類邏輯,語法規則,能夠運行於不一樣機器之上的則是高級語言。
計算機是不能理解高級語言的,更不能直接執行高級語言,它只能直接理解機器語言,因此使用任何高級語言編寫的程序若想被計算機運行,都必須將其轉換成計算機語言,也就是機器碼。而這種轉換的方式有兩種:
由此高級語言也分爲編譯型語言和解釋型語言。
編譯型語言
程序在執行以前須要一個專門的編譯過程,把程序編譯成 爲機器語言的文件,運行時不須要從新翻譯,直接使用編譯的結果就好了。程序執行效率高,依賴編譯器,跨平臺性差些。如C、C++、Delphi等
解釋性語言
相對於編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行
前者因爲程序執行速度快,同等條件下對系統要求較低,所以像開發操做系統、大型應用程序、數據庫系統等時都採用它,像C/C++、Pascal/Object Pascal(Delphi)等都是編譯語言,而一些網頁腳本、服務器腳本及輔助開發接口這樣的對速度要求不高、對不一樣系統平臺間的兼容性有必定要求的程序則一般使用解釋性語言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等
一句話總結:編譯型語言至關於作一桌子菜再吃,解釋型語言就是吃火鍋。解釋型的語言執行效率低,相似火鍋須要一邊煮一邊吃。
動態類型語言是指數據類型的檢查是在運行時作的。用動態類型語言編程時,不用給變量指定數據類型,該語言會在你第一次賦值給變量時,在內部記錄數據類型。
靜態類型語言,是指數據類型的檢查是在運行前(如編譯階段)作的
一句話總結:動態語言比如是吃了天然知道是啥菜,靜態語言比如是搞清楚了才能吃。
強類型定義語言:程序中表達的任何對象所從屬的類型都必須能在編譯時刻肯定,強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,若是不通過強制轉換,那麼它就永遠是這個數據類型了。強類型語言在大規模信息系統開發中具備巨大優點
弱類型定義語言:數據類型能夠被忽略的語言。它與強類型定義語言相反, 一個變量能夠賦不一樣數據類型的值數據類型能夠被忽略的語言。它與強類型定義語言相反, 一個變量能夠賦不一樣數據類型的值
一句話總結:強類型比如是規定指定容器只能裝指定的品類,肉和蔬菜不可混淆,而弱類型就是亂燉了。
不少編程的概念並無咱們想象中那麼複雜,在這裏給你們總結了一下,編程語言就是人和計算機交互的一種方式,計算機是靠開和關來操做,所以只能識別0和1的二進制,隨着時代的發展,逐漸演化出更符合人類思惟邏輯的高級語言,python便是其中之一。中國人講究吃,這裏以吃來比方,python比如是吃火鍋,利用這個火鍋(python的解釋器),咱們能夠一邊煮一邊吃(運行時編譯,屬於解釋型語言),火鍋要不少配菜,咱們就不講究那麼多,分什麼紅色盤子只能裝肉,白色盤子只能裝青菜了,放了肉就是裝肉的盤子,放了青菜就是素材盤了(python是動態類型,不用給變量指定數據類型),固然爲了更安全,肉類和素材不能放在同一盤子裏(python是強類型語言,不一樣數據類型不可操做)
如今經過簡單的幾句話,你是否有了一個簡單的理解呢?
知道了編程的基礎,你才更能理解python的強大,那Python到底有多強大,都能作什麼?請看下篇分解