由上圖可見,Python 近年來一直排行使用計算機語言的前五位,也反映出Python應用愈來愈普遍而且也逐漸獲得業內的承認!!!html
Python能夠應用於衆多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等衆多領域。目前業內幾乎全部大中型互聯網企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。互聯網公司普遍使用Python來作的事通常有:自動化運維、自動化測試、大數據分析、爬蟲、Web 等。python
C 和 Python、Java、C#等linux
C語言: 代碼編譯獲得 機器碼 ,機器碼在處理器上直接執行,每一條指令控制CPU工做程序員
其餘語言: 代碼編譯獲得 字節碼 ,虛擬機執行字節碼並轉換成機器碼再後在處理器上執行web
Python 和 C Python這門語言是由C開發而來編程
對於使用:Python的類庫齊全而且使用簡潔,若是要實現一樣的功能,Python 10行代碼能夠解決,C可能就須要100行甚至更多.
對於速度:Python的運行速度相較與C,絕逼是慢了vim
Python 和 Java、C#等windows
對於使用:Linux原裝Python,其餘語言沒有;以上幾門語言都有很是豐富的類庫支持
對於速度:Python在速度上可能稍顯遜色網絡
因此,Python和其餘語言沒有什麼本質區別,其餘區別在於:擅長某領域、人才豐富、先入爲主。架構
以上除PyPy以外,其餘的Python的對應關係和執行流程以下:
PyPy,在Python的基礎上對Python的字節碼進一步處理,從而提高執行速度!
web 開發:
Django\pyramid\Tornado\Bottle\Flask\WebPy
網絡編程:
twisted\Requests\scrapy\paramiko
科學運算:
Scipy\pandas\lpython
GUI圖形開發
WXpython\pyqt\kivy
運維自動化:
openstack\slatstack\ansible\騰訊藍鯨
1. 幫助公司開發各類自動化工具,定製開發各類開源軟件
2. 幫助評估和優化業務技術架構
3.開發公司的內部辦公系統,CRM,網站等
4. 作個全棧工程師,全棧是指什麼都能作的樣子,本身就能夠完成一個小項目
一:Python的安裝
windows 安裝:
一、
下載地址
https:
/
/
www.python.org
/
downloads
/
2
、安裝
默認安裝路徑:C:\python35
3
、配置環境變量
【右鍵計算機】
-
-
》【屬性】
-
-
》【高級系統設置】
-
-
》【高級】
-
-
》【環境變量】
-
-
》【在第二個內容框中找到 變量名爲Path 的一行,雙擊】
-
-
> 【Python安裝目錄追加到變值值中,用 ; 分割】
如:原來的值;C:\python35,切記前面有分號
linux 安裝:
無需安裝,原裝Python環境
ps:若是自帶2.6,請更新至3.5
更新Python
windows 下面 卸載從新安裝便可
Linux 下面:
Linux的yum依賴自帶Python,爲防止錯誤,此處更新其實就是再安裝一個Python
查看默認Python版本 python -V 一、安裝gcc,用於編譯Python源碼 yum install gcc 二、下載源碼包,https://www.python.org/ftp/python/ 三、解壓並進入源碼文件 四、編譯安裝 ./configure make all make install 五、查看版本 /usr/local/bin/python3.5 -V 六、修改默認Python版本 mv /usr/bin/python /usr/bin/python2.6 ln -s /usr/local/bin/python3.5 /usr/bin/python 七、防止yum執行異常,修改yum使用的Python版本 vi /usr/bin/yum 將頭部 #!/usr/bin/python 修改成 #!/usr/bin/python2.6
一:Python的第一程序:
1.1: windows 下面:
print("hello world!!!")
1.2:Linux 下面:
### vim helloworld.py
1 #!/usr/bin/env python 2 print ("hello world!!!!")
二:Python的變量
2.1 聲明一個變量
###vim name.py
1 #!/usr/bin/env python 2 name = "flyfish" 3 print ("my name is",flyfish)
2.2 變量的聲明規則
變量定義的規則:
變量名只能是 字母、數字或下劃線的任意組合
變量名的第一個字符不能是數字
如下關鍵字不能聲明爲變量名
['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']
### vim myname.py
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Author:FlyFish 4 name = "flyfish" 5 name2 = name 6 print("my name is",name,name2) 7 name = 'liyang' 8 print("my name is",name,name2)
三: 字符編碼與字符串拼接
3.1 字符編碼:
python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)
ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其餘西歐語言,其最多隻能用 8 位來表示(一個字節),即:2**8 = 256-1,因此,ASCII碼最多隻能表示 255 個符號。
關於中文
爲了處理漢字,程序員設計了用於簡體中文的GB2312和用於繁體中文的big5。
GB2312(1980年)一共收錄了7445個字符,包括6763個漢字和682個其它符號。漢字區的內碼範圍高字節從B0-F7,低字節從A1-FE,佔用的碼位是72*94=6768。其中有5個空位是D7FA-D7FE。
GB2312 支持的漢字太少。1995年的漢字擴展規範GBK1.0收錄了21886個符號,它分爲漢字區和圖形符號區。漢字區包括21003個字符。2000年的 GB18030是取代GBK1.0的正式國家標準。該標準收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字。如今的PC平臺必須支持GB18030,對嵌入式產品暫不做要求。因此手機、MP3通常只支持GB2312。
從ASCII、GB23十二、GBK 到GB18030,這些編碼方法是向下兼容的,即同一個字符在這些方案中老是有相同的編碼,後面的標準支持更多的字符。在這些編碼中,英文和中文能夠統一地處理。區分中文編碼的方法是高字節的最高位不爲0。按照程序員的稱呼,GB23十二、GBK到GB18030都屬於雙字節字符集 (DBCS)。
有的中文Windows的缺省內碼仍是GBK,能夠經過GB18030升級包升級到GB18030。不過GB18030相對GBK增長的字符,普通人是很難用到的,一般咱們仍是用GBK指代中文Windows內碼。
顯然ASCII碼沒法將世界上的各類文字和符號所有表示,因此,就須要新出一種能夠表明全部字符和符號的編碼,即:Unicode
Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是爲了解決傳統的字符編碼方案的侷限而產生的,它爲每種語言中的每一個字符設定了統一而且惟一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536,
注:此處說的的是最少2個字節,可能更多
UTF-8,是對Unicode編碼的壓縮和優化,他再也不使用最少使用2個字節,而是將全部的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存...
因此,python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill),若是是以下代碼的話:
報錯:ascii碼沒法表示中文
3.2 代碼:
1 #!/usr/bin/env python 2 3 # -*- coding: utf-8 -*- 4 5 # Author:FlyFish 6 7 print("你好,世界!!!!")
3.3 python 代碼的註釋:
單行注視:# 被註釋內容 多行註釋:""" 被註釋內容 """
3.4 用戶輸入格式化輸出字符串拼接
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Author:FlyFish 4 name = input("name:") 5 age = input("age:") 6 job = input("job:") 7 info = ''' 8 ------info of %s ----- 9 name:%s 10 age:%s 11 job:%s 12 ''' % (name,name,age,job) 13 print(info)
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Author:FlyFish 4 5 name = input("name:") 6 age = input("age:") 7 job = input("job:") 8 info = ''' 9 ------info of {_name} ----- 10 name:{_name} 11 age:{_age} 12 job:{_job} 13 ''' .format(_name=name, 14 _age=age, 15 _job=job 16 ) 17 print(info)
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Author:FlyFish 4 name = input("name:") 5 age = input("age:") 6 job = input("job:") 7 info = ''' 8 ------info of {0}----- 9 name:{0} 10 age:{1} 11 job:{2} 12 ''' .format(name, 13 age, 14 job 15 ) 16 print(info)
3.5 Python的用戶輸入:
Python的輸入
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Author:FlyFish 4 5 #import getpass 6 7 _username = "zhangyy" 8 _password = "abc123" 9 10 username = input("username:") 11 password = input("password:") ### password = getpass.getpass("password:") 12 13 if _username == username and _password == password: 14 print("Welcom user {name} login".format(name=username)) 15 else: 16 print("Invalid username or password ")
四:if....else 循環:
在程序裏設定好你的年齡,而後啓動程序讓用戶猜想,用戶輸入後,根據他的輸入提示用戶輸入的是否正確,若是錯誤,提示是猜大了仍是小了
註釋:
外層變量,能夠被內層代碼使用
內層變量,不該被外層代碼使用
1 #!/usr/bin/env python 2 3 # -*- coding: utf-8 -*- 4 5 # Author:FlyFish 6 7 age_of_zhangyy = 26 8 9 guess_age = int(input("guess zhangyyy age:")) 10 11 if guess_age == age_of_zhangyy: 12 print("yes,yo go it") 13 elif guess_age > age_of_zhangyy: 14 print("think smaller...") 15 else: 16 print("think bigger")
五:while的循環
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Author:FlyFish 4 5 count = 0 6 7 while True: 8 print("count",count) 9 count = count + 1
5.1 關於猜年齡的遊戲
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Author:FlyFish 4 age_of_zhangyy = 26 5 count = 0 6 while True: 7 if count == 3: 8 break 9 guess_age = int(input("guess zhangyyy age:")) 10 if guess_age == age_of_zhangyy: 11 print("yes,yo go it") 12 break 13 elif guess_age > age_of_zhangyy: 14 print("think smaller...") 15 else: 16 print("think bigger") 17 count+=1
1 #!/usr/bin/env python 2 3 # -*- coding: utf-8 -*- 4 5 # Author:FlyFish 6 7 age_of_zhangyy = 26 8 count = 0 9 while count<3: 10 11 guess_age = int(input("guess zhangyyy age:")) 12 13 if guess_age == age_of_zhangyy: 14 print("yes,yo go it") 15 break 16 elif guess_age > age_of_zhangyy: 17 print("think smaller...") 18 else: 19 print("think bigger") 20 count+=1 21 22 if count ==3: 23 countine_confirm = input("do you want to guessing....") 24 if countine_confirm !='n': 25 count ==0 26 27 else: 28 print("you have tried too many times..fuck off")