python相關介紹,
一、程式設計語言種類
程式設計語言的發展經曆了
#機器語言:直接用二進位編程,直接操作硬體。#組合語言:也是一種面向機器的低級程式設計語言,以簡寫的英文標識符取代二進位去編程,但其本質仍然是直接操作硬體。#進階語言:獨立於機器,面向過程或對象的語言,用人類的字元去編寫程式,屏蔽了硬體操作。
進階語言更貼近人類語言,因此它必須被翻譯成電腦能懂的二進位後,才能執行,按照翻譯方式分為:
#編譯型(需要編譯器):如C / C++,執行速度快,調試麻煩;#解釋型(需要解譯器):如python,執行速度慢,調試簡單。#兩者可以比喻成一個準備了一桌子菜來吃飯,另一個就是去吃火鍋(一邊煮,一邊吃,效率慢)
總結:
機器語言#優點是執行速度快,佔用記憶體空間小#缺點是複雜,開發效率低,可讀性差,可移植性差組合語言#優點是執行速度快#缺點是開發效率低,複雜進階語言#編譯型語言執行速度快,不依賴於語言環境運行,但跨平台差#解釋型語言跨平台好,可移植性好,但執行速度慢,依賴解譯器運行
二、python介紹
python是一種物件導向的解釋型電腦程式設計語言,由荷蘭人Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。
Python具有豐富和強大的庫。它常被暱稱為膠水語言,能夠把用其他語言製作的各種模組(尤其是C/C++)很輕鬆地連接在一起。常見的一種應用情形是,使用Python快速產生程式的原型(有時甚至是程式的最終介面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D遊戲中的圖形渲染模組,效能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴充類庫。需要注意的是在您使用擴充類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。
目前python主要應用領域
#1. WEB開發——最火的Python web架構Django, 支援非同步高並發的Tornado架構,短小精悍的flask,bottle, Django官方的標語把Django定義為the framework for perfectionist with deadlines(大意是一個為完全主義者開發的高效率web架構)#2. 網路編程——支援高並發的Twisted網路架構, py3引入的asyncio使非同步編程變的非常簡單#3. 爬蟲——爬蟲領域,Python幾乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥#4. 雲端運算——目前最火最知名的雲端運算架構就是OpenStack,Python現在的火,很大一部分就是因為雲端運算#5. 人工智慧——誰會成為AI 和大資料時代的第一開發語言?這本已是一個不需要爭論的問題。如果說三年前,Matlab、Scala、R、Java 和 Python還各有機會,局面尚且不清楚,那麼三年之後,趨勢已經非常明確了,特別是 Facebook 開源了 PyTorch 之後,Python 作為 AI 時代頭牌語言的位置基本確立,未來的懸念僅僅是誰能坐穩第二把交椅。#6. 自動化營運——問問中國的每個營運人員,營運人員必須會的語言是什嗎?10個人相信會給你一個相同的答案,它的名字叫Python#7. 金融分析——我個人之前在金融行業,10年的時候,我們公司寫的好多剖析器、高頻交易軟體就是用的Python,到目前,Python是金融分析、量化交易領域裡用的最多的語言#8. 科學運算—— 你知道麼,97年開始,NASA就在大量使用Python在進行各種複雜的科學運算,隨著NumPy, SciPy, Matplotlib, Enthought librarys等眾多程式庫的開發,使的Python越來越適合於做科學計算、繪製高品質的2D和3D映像。和科學計算領域最流行的商業軟體Matlab相比,Python是一門通用的程式設計語言,比Matlab所採用的指令碼語言的應用範圍更廣泛#9. 遊戲開發——在網路遊戲開發中Python也有很多應用。相比Lua or C++,Python 比 Lua 有更高階的抽象能力,可以用更少的代碼描述遊戲商務邏輯,與 Lua 相比,Python 更適合作為一種 Host 語言,即程式的進入點是在 Python 那一端會比較好,然後用 C/C++ 在非常必要的時候寫一些擴充。Python 非常適合編寫 1 萬行以上的項目,而且能夠很好地把網遊項目的規模控制在 10 萬行代碼以內。另外據我所知,知名的遊戲<文明> 就是用Python寫的
python的種類
我們現在知道了Python是一門解釋型語言,代碼想運行,必須通過解譯器執行,Python的解譯器本身也可以看作是個程式(翻譯官司是哪國人不重要),這個程式是什麼語言開發的呢? 答案是好幾種語言? what? 因為Python有好幾種解譯器,分別基於不同語言開發,每個解譯器特點不同,但都能正常運行我們的Python代碼,下面分別來看下:#CPython:CPython是使用最廣且被的Python解譯器。本教程以CPython為準。當我們從Python官方網站下載並安裝好Python 2.7後,我們就直接獲得了一個官方版本的解譯器:CPython。這個解譯器是用C語言開發的,所以叫CPython。在命令列下運行python就是啟動CPython解譯器。#IPythonIPython是基於CPython之上的一個互動式解譯器,也就是說,IPython只是在互動方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但核心其實都是調用了IE。CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。#PyPyPyPy是另一個Python解譯器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解譯器下執行可能會有不同的結果。如果你的代碼要放到PyPy下執行,就需要瞭解PyPy和CPython的不同點。#JythonJython是運行在Java平台上的Python解譯器,可以直接把Python代碼編譯成Java位元組碼執行。#IronPythonIronPython和Jython類似,只不過IronPython是運行在微軟.Net平台上的Python解譯器,可以直接把Python代碼編譯成.Net的位元組碼。
三、python基礎
第一個python程式
#!/usr/bin/env python #解譯器路徑#-*- coding:utf8 -*- #編碼方式print('hello world')
兩種執行方式
#進入解譯器的互動模式:調試方便,,即時輸入並獲得執行結果,但無法儲存代碼#指令檔的方式(notepad++等):可以永久儲存代碼
註:python解譯器執行程式是解釋執行,即開啟檔案讀取內容,並沒有硬性規定檔案尾碼名,但通常定義為.py結尾,便於區分。
四、變數
什麼是變數
#變數是在程式運行中能夠改變的量,“變”是變化,“量”是衡量狀態
變數命名規範
#變數名只能是 字母、數字和底線的任意組合#變數名的第一個字元不能是數字#變數名不能是關鍵字 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'#最好不要和python內建的東西重複