Python是一種面向對象、直譯式的電腦程序語言。它包含了一組功能完備的標準庫,可以輕鬆完成不少常見的任務。它的語法簡單,與其它大多數程序設計語言使用大括號不同,它使用縮進來定義語句塊。
Python能夠應用於衆多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等衆多領域。目前業內幾乎全部大中型互聯網企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。html
優勢:java
缺點:python
當咱們編寫Python代碼時,咱們獲得的是一個包含Python代碼的以.py爲擴展名的文本文件。要運行代碼,就須要Python解釋器去執行.py文件。
因爲整個Python語言從規範到解釋器都是開源的,因此理論上,只要水平夠高,任何人均可以編寫Python解釋器來執行Python代碼(固然難度很大)。事實上,確實存在多種Python解釋器。
linux
當咱們從Python官方網站下載並安裝好Python 2.7後,咱們就直接得到了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,因此叫CPython。在命令行下運行python就是啓動CPython解釋器。
CPython是使用最廣的Python解釋器。教程的全部代碼也都在CPython下執行。c++
IPython是基於CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所加強,可是執行Python代碼的功能和CPython是徹底同樣的。比如不少國產瀏覽器雖然外觀不一樣,但內核其實都是調用了IE。
CPython用>>>做爲提示符,而IPython用In [序號]:做爲提示符。算法
PyPy是另外一個Python解釋器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(注意不是解釋),因此能夠顯著提升Python代碼的執行速度。
絕大部分Python代碼均可以在PyPy下運行,可是PyPy和CPython有一些是不一樣的,這就致使相同的Python代碼在兩種解釋器下執行可能會有不一樣的結果。若是你的代碼要放到PyPy下執行,就須要瞭解PyPy和CPython的不一樣點。vim
Jython是運行在Java平臺上的Python解釋器,能夠直接把Python代碼編譯成Java字節碼執行。數組
IronPython和Jython相似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,能夠直接把Python代碼編譯成.Net的字節碼。瀏覽器
(注)Python的解釋器不少,但使用最普遍的仍是CPython。若是要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是經過網絡調用來交互,確保各程序之間的獨立性。網絡
linux環境自帶python2.6
下面對python2.6進行升級
1 1、解壓源碼包 2 tar xvf Python-2.7.9.tar.xz 3 2、1、安裝gcc,用於編譯Python源碼 4 yum install gcc -y 5 3、編譯安裝 6 cd Python-2.7.9 7 ./configure 8 make && make install 9 4、查看python版本 10 /usr/local/bin/python2.7 -V 11 Python 2.7.9 12 5、修改默認python版本 13 mv /usr/bin/python /usr/bin/python26 14 ln -s /usr/local/bin/python2.7 /usr/bin/python 15 6、防止yum報錯,修改yum使用的python版本 16 vim /usr/bin/yum 17 #!/usr/bin/python 修改成 #!/usr/bin/python26
1 print("hello world")
聲明變量
name = "Jax Zhai"
上述代碼聲明瞭一個變量,變量名爲: name,變量name的值爲:"Jax Zhai"
變量定義的規則:
變量的賦值:
1 name = "Jax Zhai" 2 3 name2 = name 4 print(name,name2) 5 6 name = "Peter" 7 8 print("What is the value of name2 now?")
1 import getpass 2 3 _username = "zhaikun" 4 _passwd = "zhaikun" 5 6 username = input("username:") 7 passwd = input("passwd:") 8 #PyCharm 不知道getpass 因此用明文。 9 #passwd = getpass.getpass("passwd:") 10 11 if _username == username and passwd == _passwd: 12 print("Welcome user {name} login..".format(name=_username)) 13 else: 14 print("Invalid username or password")
場景一:用戶登陸
1 import getpass 2 Username = input('請輸入用戶名:') 3 Password = getpass.getpass('請輸入密碼:') 4 5 if Username == "Jax" and Password == "Jax": 6 print ("歡迎!",Username) 7 else: 8 print("您輸入的用戶名貨或密碼不正確!!")
場景二:猜數字遊戲
1 Daniwai_AGE = 26 2 Guess_AGE=int (input("GuessAge:")) 3 4 if Daniwai_AGE == Guess_AGE : 5 print("yes,you got it!") 6 elif Daniwai_AGE > Guess_AGE : 7 print ("guess bigger") 8 else: 9 print("guess sammer")
循環10次
1 #_*_coding:utf-8_*_ 2 __author__ = 'Jax Zhai' 3 4 for a in range(10): 5 print(a)
輸出:
1 loop: 0 2 loop: 1 3 loop: 2 4 loop: 3 5 loop: 4 6 loop: 5 7 loop: 6 8 loop: 7 9 loop: 8 10 loop: 9
需求一:仍是上面的程序,可是遇到小於5的循環次數就不走了,直接跳入下一次循環
1 for a in range(10): 2 if a<5: 3 continue # 4 5 print("loop:",a)不往下走了,直接進入下一次loop
需求二:仍是上面的程序,可是遇到大於5的循環次數就不走了,直接退出
1 for a in range(10): 2 if a>5: 3 break # 4 5 print("loop:",a)不往下走了,直接跳出整個loop
continue 跳出本次循環進入下次循環,break是結束整個循環
場景:猜數字
限制猜的次數爲3次,3次沒猜對, 就退出程序
1 Daniwai_AGE = 26 2 3 for a in range(3): 4 5 Guess_AGE=int (input("GuessAge:")) 6 7 if Daniwai_AGE == Guess_AGE : 8 print("yes,you got it!") 9 break 10 elif Daniwai_AGE > Guess_AGE : 11 print ("guess bigger") 12 else: 13 print("guess sammer") 14 15 else: 16 print("you have too many times ,fuck off")
場景:編寫登錄接口
1 import getpass 2 for a in range(3): 3 Username = input('請輸入用戶名:') 4 Password = getpass.getpass('請輸入密碼:') 5 6 if Username == "Jax" and Password == "Jax": 7 print ("歡迎!",Username) 8 break 9 else: 10 print("您輸入的用戶名貨或密碼不正確!!") 11 else: 12 print("您輸入次數太多,已鎖定")
有一種循環叫死循環,一經觸發,就運行個天荒地老、海枯石爛。
海枯石爛代碼
count = 0 while True: print("你是風兒我是沙,纏纏綿綿到天涯...",count) count +=1
上面的代碼循環1000次就退出吧
1 count = 0 2 while True: 3 print("你是風兒我是沙,纏纏綿綿到天涯...",count) 4 count +=1 5 if count == 100: 6 print("去你媽的風和沙,大家這些脫了褲子是人,穿上褲子是鬼的臭男人..") 7 break
while實現猜數字遊戲
1 Daniwai_AGE = 26 2 count = 0 3 while count <3: 4 Guess_AGE=int (input("GuessAge:")) 5 6 if Daniwai_AGE == Guess_AGE : 7 print("yes,you got it!") 8 break 9 elif Daniwai_AGE > Guess_AGE : 10 print ("guess bigger") 11 else: 12 print("guess sammer") 13 count +=1 14 else: 15 print("you have too many times. fuck off")
int(整型)
注:Python中存在小數字池:-5 ~ 257
"hello world"
1 name = input("name:") 2 age = input("age:") 3 job = input("job:") 4 5 INFO=''' 6 --------info of %s -------- 7 Name: %s 8 Age: %s 9 job: %s 10 11 ''' % (name,name,age,job) 12 13 print(INFO)
14 #%d 字符類型爲整型 %s字符類型爲字符串 15 name = input("name:") 16 age = int(input("age:") ) 17 print (type(age),type(str(age))) 18 job = input("job:") 19 20 INFO=''' 21 --------info of %s -------- 22 Name: %s 23 Age: %d 24 job: %s 25 ''' % (name,name,age,job) 26 27 INFO2 = ''' 28 --------info of {_name} -------- 29 Name: {_name} 30 Age: {_age} 31 job: {_job} 32 33 '''.format(_name=name, 34 _age=age, 35 _job=job,) 36 37 INFO3 = ''' 38 --------info of {0} -------- 39 Name: {0} 40 Age: {1} 41 job: {2} 42 '''.format(name,age,job) 43 print(INFO3)
PS: 字符串是 %s;整數 %d;浮點數%f
三元運算
>>> a,b,c = 1,2,5 >>> d = a if a >b else c #若是a>b成立,d=a,反之等於c >>> d 5 >>> d = a if a <b else c >>> d 1 >>