TIOBE榜 TIOBE編程語言排行榜是編程語言流行趨勢的一個指標,每個月更新,這份排行榜排名基於互聯網有經驗的程序員、課程和第三方廠商的數量。java
JAVA 目前使用最普遍的編程語言,第一個跨平臺的語言, 在大型ERP軟件\安卓APP開發\大型網站開發領域使用普遍python
PHP 使用最普遍的WEB開發語言,很是適合中小型網站開發,學習成本較低,開發效率高程序員
C\C++ 學習成本高,學習週期長,偏系統底層、在開發硬件驅動、嵌入式、遊戲引擎開發等領域有廣發的應用。web
PYTHON 使用領域幾乎和JAVA同樣普遍,但開發效率要高於JAVA,且學習成本較低,在科學預算\數據分析\網站開發\爬蟲開發\雲計算\自動化運維\自動化測試等領域優點明顯shell
WEB開發 比較火的python web框架,支持異步高併發的Tornado框架,短小精悍的flask、bottle。編程
人工智能 python是對人工智能支持最好的語言。flask
雲計算 目前最火的雲計算框架openstack。架構
金融量化分析、自動化交易 python在金融分析、量化交易領域用的很是多。併發
爬蟲 爬取網頁和數據框架
自動化運維 運維必須掌握的語言
科學計算NASA早在97年就開始用python作科學計算,以後有了Numpy\SciPy\Matplohib\Enthought librarys等庫,python愈來愈適合作科學運算和圖形處理。
遊戲開發python也能夠作遊戲開發
機器語言---彙編語言---高級語言
編譯類: 將程序源碼轉成目標代碼(機器語言),因此程序能夠脫離其語言環境獨立執行。程序執行效率高可是修改比較麻煩,只要修改源代碼,必須從新生成執行文件。
如C、C++、Delphi等
解釋類:將源代碼實時的由解釋器翻譯成目標代碼(機器語言)進行執行,並且不能生成獨立的可執行的文件,程序運行不能脫離其解釋器。
如Python、Java、PHP、Ruby等語言。
編譯型優勢:
a、程序執行時,再也不須要源代碼不依賴語言環境,由於執行的是機器碼文件
b、執行速度快,由於你的程序代碼已經翻譯成了是計筲機能夠直接理解的機器語言。
缺點:
a、每次修改了源代碼,須要從新編譯,生成機器碼文件b、跨平臺性很差,不一樣操做系統,調用底層的機器指令不一樣,須要爲不一樣平臺生成不一樣的機器碼文件
解釋型
優勢:a、天生跨平臺,由於解釋器已經作好了對不一樣平臺的交互處理,用戶寫的源代碼不需再考慮平臺差別性,可謂,一份源代碼,全部平臺均可直接執行
b、隨時修改,馬上見效,改完源代碼後,直接運行看效果
缺點:
a、運行效率低,全部的代碼均兼通過解釋器邊解釋邊執行,速度比編譯型慢不少b、代碼是明文
機器語言:優勢是最底層,速度最快,缺點是最複雜,開發效率最低
彙編語言:優勢是比較底層,速度最快,缺點是複雜,開發效率最低
高級語言
編譯型語言執行速度快,不依賴語言環境,跨平臺效率差解釋型跨平臺好,一份代碼,處處使用,缺點是執行速度慢,依賴解釋器運行
發明人Guido van Rossum
1989年聖誕節寫出來的,創造出一種C和shell之間的,功能全面,易學易用的可拓展的語言。
1991年第一個編譯器誕生,是用C語言寫成的。1999年正式支持web開發
1994年增長 lamba ,map,filter and reduce
2000年python2.0解釋器,加入內存回收機制,構成了如今的python語言架構的基礎。
2004年python2.4解釋器,同年目前最流行的的web框架Django誕生
2006年python2.5解釋器發佈
2008年python2.6解釋器發佈
2008年python3.0解釋器發佈
2010年 python2.7解釋器發佈
2009年python 3.1解釋器發佈
2011年python 3.2解釋器發佈
2012年python 3.3解釋器發佈
2014年python 3.4解釋器發佈
2014年11月宣佈對python2.7的支持到2020年,而且再也不開發python2.8用戶應該儘快使用python3.4及其以上版本。
2015年10月發佈python 3.5解釋器
2016年12月發佈python 3.6解釋器
Cpython:大多數人用的python解釋器,官網下載的也是Cpython
ironpython:即IronPython 是一種在 NET 和 Mono 上實現的 Python 語言。
Jpython:java語言寫的解釋器。
pypython:pypy是對python進行動態編譯一次,再次執行.
是表示一個數值或者狀態的,把程序運算的中間結果臨時存到內存裏,已備後面的代碼繼續調用。
只能是字母、數字、下劃線的任意組合
變量名的第一個字符不能是數字
keyword.kwlist = ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
a、駝峯體
age0of0nicholas = 18
b、下劃線
age_of_nicholas = 18
變量名爲中文
變量名過長
變量名詞不達意
常量即不變的量,在python中沒有一個專門的語法表明常量,程序員約定俗成用變量所有大寫表明常量
PI = 3.14
代碼註釋用#
代碼註釋原則:不用所有加註釋,只須要在本身以爲重要或者很差理解的部分加註釋便可,註釋能夠是中文或者英文,但絕對不要用拼音
整型即整數,在python3中再也不有長整型long,只有int
在python中加了引號的字符都被認爲是字符串,單引號和雙引號沒有任何區別
單雙引號的配合使用
msg = "I'm 18 years old !"
多行字符串能夠用三引號
msg = '''my name is nicholas '''
字符串的拼接能夠用+
字符串能夠用乘法
name = "nicholas" v = name *10 print(v)
這裏會輸出10個nicholas
注意字符串的拼接只能是雙方都是字符串,不能是數字或者其餘類型
True /False
見博客[Python之路(第一篇):Python簡介和基礎]
見博客[Python之路(第一篇):Python簡介和基礎]
continue 結束當前循環,繼續下一次循環
break 結束整個循環,執行循環體外面的語句
與其餘語言不一樣,python中還有while-else語句
while後面的else語句做用是,當while循環正常執行完,中間沒有被break語句停止的話,就會執行else後面的語句,若是被停止,則else也不會被執行。
例子
count = 0 while count <= 5: count += 1 print("loop",count) else: print("循環正常執行完啦") print("-------out of while loop--------")
輸出結果
loop 1 loop 2 loop 3 loop 4 loop 5 loop 6 循環正常執行完啦 -------out of while loop--------
分析:這裏是先執行完while語句以後再次執行了else語句
例子2
count = 0 while count <= 5: count += 1 print("loop",count) break else: print("循環正常執行完啦") print("-------out of while loop--------")
輸出結果
loop 1 -------out of while loop--------
分析:這裏在while 語句中被break後,else中的語句也沒有執行。
for-else與while-else相似,for循環正常執行完,中間沒有被break語句停止的話,就會執行else後面的語句,若是被停止,則else也不會被執行。注意這裏若是for循環語句中有return也會有break相似的效果
例子
li = [1,2,3,4,5] def find(): for i in li: if i == 5: print("找到5了") return "ok" else: print("沒有找到") return "no" print(find())
輸出結果
找到5了 ok
分析:這裏for循環語句裏if條件成立打印"找到5了",return出「ok」,以後會直接結束程序,不會繼續執行else語句。
例子2
li = [1,2,3,4] def find(): for i in li: if i == 5: print("找到5了") return "ok" else: print("沒有找到") return "no" print(find())
輸出結果
沒有找到 no
分析:這裏for循環內if語句沒有符合條件,return語句未能被執行到,因此for循環語句執行完以後執行了else語句。這裏return的功能和break相似,即若是for循環被break或者return打斷執行過程,那麼後面的else語句也不會被執行,若是for循環沒被打斷則執行else語句。