【python全棧開發】初識python

  本人最開始接觸python是在2013年接觸,寫過hello word!在此以前對開發類沒有多大興趣,不知道重要性,屬於渾渾噩噩,忙忙乎乎,跌跌撞撞的。隨後選擇了Linux運維做爲就業主攻方向。php

  通過幾年的工做實際狀況,愈加以爲懂開發的運維是多麼的重要。通過再三思慮,決定重拾開發學習。看過php\lua\python;最終選定python做爲首選主攻對象。python

  經過博客記錄python的學習之路。記錄這傳奇的一輩子。linux

python誕生c++

  1989年的聖誕節期間,吉多·範羅蘇姆爲了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,做爲ABC語言的一種繼承。 就這麼一個不經意的打發時間,創造出了一個優秀的語言,python今後誕生。程序員

python地位shell

  在編程語言排行榜中,python穩居第4位(2016),遠超php\C#。有趕超c++入圍前三甲之勢。編程

Python能夠應用於衆多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等衆多領域。目前業內幾乎全部大中型互聯網企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。互聯網公司普遍使用Python來作的事通常有:自動化運維自動化測試大數據分析、爬蟲、Web 等。windows

  爲何是Python而不是其餘語言?python3.x

C 和 Python、Java、C#等網絡

    C語言: 代碼編譯獲得 機器碼 ,機器碼在處理器上直接執行,每一條指令控制CPU工做

其餘語言: 代碼編譯獲得 字節碼 ,虛擬機執行字節碼並轉換成機器碼再後在處理器上執行

Python 和 C  Python這門語言是由C開發而來

  對於使用:Python的類庫齊全而且使用簡潔,若是要實現一樣的功能,Python 10行代碼能夠解決,C可能就須要100行甚至更多.
  對於速度:Python的運行速度相較與C,絕逼是慢了

Python 和 Java、C#等

  對於使用:Linux原裝Python,其餘語言沒有;以上幾門語言都有很是豐富的類庫支持
  對於速度:Python在速度上可能稍顯遜色

因此,Python和其餘語言沒有什麼本質區別,其餘區別在於:擅長某領域、人才豐富、先入爲主。

Python的種類

  • Cpython
        Python的官方版本,使用C語言實現,使用最爲普遍,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),而後運行在Python虛擬機上。
  • Jyhton
        Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,而後在JVM上運行。
  • IronPython
        Python的C#實現,IronPython將Python代碼編譯成C#字節碼,而後在CLR上運行。(與Jython相似)
  • PyPy(特殊)
        Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
  • RubyPython、Brython ...

以上除PyPy以外,其餘的Python的對應關係和執行流程以下:

 

PyPy,在Python的基礎上對Python的字節碼進一步處理,從而提高執行速度!

python環境安裝

  • windows環境(本人業務使用較少,不涉及,具體配置請百度)
  • mac環境(人窮未用過,具體配置請百度)
  • Linux環境
    • linux基礎服務自帶python,如須要重安裝請使用yum install python -y,會自動安裝python所須要依賴包。
    • 編譯安裝python
      • 下載python源碼包
      • 確認Linux環境支持gcc; yum install gcc-c++ -y
      • 解壓編譯 ./configer --prefix=/usr/local/python3 && make && make install

代碼編寫

  一、入門第一神句

#!/usr/bin/env python
# -*- coding:utf-8 -*-
print("Hello Word")

  二、解釋器

#!/usr/bin/env python
指定解釋器位置,與shell腳本開端相似

  三、內容編碼

# -*- coding:utf-8 -*-
python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill),在2.x版本不能直接支持中文,須要添加指定字符編碼,在3.x版本能夠直接支持,能夠不用寫。但爲規範編程,沿用指定內容編碼。

  四、註釋

單行註釋:行首#號。
多行註釋:行前與行尾以3引號(單雙都可)
如:
#!/usr/bin/env python
# -*- coding:utf-8 -*-

print("Hello Word") #這是單個註釋,不信你試試 ''' 這是多個註釋! 不信你試試 ''' print("Hello Word")

  五、模塊引用

Python有大量的模塊,從而使得開發Python程序很是簡潔。類庫有包括三中:
  1. Python內部提供的模塊
  2. 業內開源的模塊 
  3. 程序員本身開發的模塊 
#!/usr/bin/env python
# -*- coding:utf-8 -*-

import os
print(os.system('df -h')
import os
模塊引入語句
print(os.system('df -h')
模塊函數與方法使用。

  六、變量

一、聲明變量
#!/usr/bin/env python
# -*- coding:utf-8 -*-

name="jason"
name是變量名;"jason"是變量值
變量的做用:暱稱,其代指內存裏某個地址中保存的內容
 

    

做變量定義的規則:
  1. 變量名只能是 字母、數字或下劃線的任意組合
  2. 變量名的第一個字符不能是數字
  3. python保留關鍵字不能聲明爲變量名
等價變量賦值
#!/usr/bin/env python
# -*- coding: utf-8 -*-

name1 = "wupeiqi"
name2 = name1
 
    

  七、交互輸入

 python2.x
#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
# 將用戶輸入的內容賦值給 name 變量
name = raw_input("請輸入用戶名:")
  
# 打印輸入的內容
print name
  python3.x
#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
# 將用戶輸入的內容賦值給 name 變量
name = input("請輸入用戶名:")
  
# 打印輸入的內容
print name
  案例1:模擬終端用戶登錄
#!/usr/bin/env python
# -*- coding:utf-8 -*-

user = "jason"
password = "jason"
for t in range(3):
    in_user = input("用戶名:")
    in_passwd = input("密碼:")
    if in_user == user and password == in_passwd:
        print("登錄成功")
        break
    else:
        print("用戶名/密碼錯誤,請重試")
  案例2:模擬終端用戶登錄,密碼不可見。
#!/usr/bin/env python
# -*- coding:utf-8 -*-

import getpass user = "jason" password = "jason" for t in range(3): in_user = input("用戶名:") in_passwd = getpass.getpass("密碼:") if in_user == user and password == in_passwd: print("登錄成功") break else: print("用戶名/密碼錯誤,請重試")
#import getpass 密碼交互模塊

  八、流程控制與代碼塊

 

代碼塊:python是一個強制縮進的編程語言。不一樣縮進的代碼格式代碼不一樣層級的代碼塊。
#!/usr/bin/env python
# -*- coding:utf-8 -*-

age = 20
if age > 20:
    print("age > 20")
elif age < 20:
    print("age < 20")
else:
    print("age = 20")
 

  九、while/for循環與控制

  (1)、while循環
while 條件:
  循環代碼塊

  (2)for循環
for 條件:
  循環代碼塊

  (3)、break 結束當前循環體

#!/usr/bin/env python
# -*- coding:utf-8 -*-

for i in range(1,5):
    if i = 2:
        break
    print(i)

  (4)、continue 結束當次循環體

#!/usr/bin/env python
# -*- coding:utf-8 -*-

for i in range(1,5):
    if i = 2:
        continue
    print(i)
相關文章
相關標籤/搜索