Python--1 初識

 

1.1 Python簡介

  Python[1]  (英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/), 是一種面向對象的解釋型計算機程序設計語言,python的創始人爲吉多·範羅蘇姆(Guido van Rossum),Python是著名的「龜叔」Guido van Rossum在1989年聖誕節期間,爲了打發無聊的聖誕節而編寫的一個編程語言。python

  如今,全世界差很少有600多種編程語言,但流行的編程語言也就那麼20來種。若是你據說過TIOBE排行榜,你就能知道編程語言的大體流行程度。這是最近10年最經常使用的10種編程語言的變化圖:linux

2018年9月編程語言排行榜:https://www.tiobe.com/tiobe-index/c++

 

 

  和人類同樣,計算機使用多種語言來溝通,這裏所說的語言就是編程語言。簡單地說,一種編程語言就是一種特定的與計算機交談的方式,這種方式使用計算機和人都能理解的指令。web

 

  有些編程語言以人名命名(如Ada和Pascal),有些採用簡單的首字母縮寫(如BASIC和FORTRAN),甚至還有些以電視劇命名,如Python。是的,Python編程語言的名字來自電視劇《蒙提• 派森的飛行馬戲團》,而不是大蟒蛇。sql

《蒙提 • 派森的飛行馬戲團》(Monty Python’s Flying Circus)是英國20世紀70年代首播的電視喜劇,直到今天仍受某些觀衆喜好。Python的名字就是從這裏來的 。shell

 

1.2 Python應用

  • 谷歌:Google App Enginecode.google.comGoogle earth、谷歌爬蟲、Google廣告等項目大量使用Python開發
  • CIA:美國中央情報局網站使用Pythobn開發
  • NASA:美國航天局大量使用Python開發的
  • YouTube:世界上最大的視頻網站,使用Python開發
  • Dropbox:美國最大的在線雲存儲網站,所有使用Python開發,天天網站處理10億個文件的上傳和下載
  • Instagram:美國最大的圖片分享社交網站,天天超過3千萬張照片被分享,所有用Python開發
  • Facebook:大量的基礎庫均經過python開發
  • RedHatyum包管理工具是經過python開發
  • 豆瓣:公司幾乎全部業務都是經過python開發
  • 知乎:國內最大的問答社區,經過python開發
  • 春雨醫生:國內著名的在線醫療網站使用python開發

 

  以及搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶、土豆、新浪、果殼等都在使用Python完成各類任務編程

 

python擅長的領域vim

  • web開發
    • DjangopyramidTornadpBottleFlaskWebPy
  • 網絡編程
    • TwistedRequestsScrapyParamiko
  • 科學運算
    • SciPyPandasipython
  • GUI圖形開發
    • wxPythonPyQTKivy
  • 運維自動化
    • OpenStackSaltStackAnsible、騰訊藍鯨

 

1.3  爲何學Python

  

  Python特色後端

  

  

 

 

爲何是Python而不是其餘語言?centos

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的字節碼字節碼再編譯成機器碼。

Python有沒有前途?

運維會了開發後能夠作什麼?

  • 幫助公司開發各類自動化工具,定製開發各類開源軟件
  • 幫助評估和優化業務技術架構
  • 開發公司的內部辦公系統、CRM、網站等
  • 作個全棧工程師,全棧就是指什麼都能作的樣子

目前市面上主流的Python職位:

 

1.Python開發工程師

主要負責WEB開發、後端開發

2.大數據分析和數據挖掘

主要使用Python進行爬蟲開發、數據清洗、機器學習/數據挖掘/信息檢索/天然語言處理/文本分類與聚類等

3.金融自動化交易

量化交易策略的開發,以及程序化實現,開發特定的金融工程工具,對公司的研究和交易提供支持;

4.自動化開發工程師

開發公司自動化運維平臺,提升運維自動化水平,下降公司IT運營成本

5.自動化測試工程師

開發自動化測試框架,測試工具及腳本,負責自動化框架的持續性優化和改進;編寫測試計劃、測試用例,並按照測試計劃及測試步驟對產品進行自動化測試;

6.網絡安全工程師

Python是衆多的白帽子都很是喜歡的語言,有不少的安全工具就是用Python開發的。

1.4 Python發展史

  • 1989年,爲了打發聖誕節假期,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Pythons Flying Circus。他但願這個新的叫作Python的語言,能符合他的理想:創造一種Cshell之間,功能全面,易學易用,可拓展的語言。
  • 1991年,第一個Python編譯器誕生。它是用C語言實現的,並可以調用C語言的庫文件。從一出生,Python已經具備了:類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊爲基礎的拓展系統。
  • Granddaddy of Python web frameworks, Zope 1 was released in 1999
  • Python 1.0 - January 1994 增長了 lambda, map, filter and reduce.
  • Python 2.0 - October 16, 2000,加入了內存回收機制,構成了如今Python語言框架的基礎
  • Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 誕生
  • Python 2.5 - September 19, 2006
  • Python 2.6 - October 1, 2008
  • Python 2.7 - July 3, 2010
  • In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
  • Python 3.0 - December 3, 2008
  • Python 3.1 - June 27, 2009
  • Python 3.2 - February 20, 2011
  • Python 3.3 - September 29, 2012
  • Python 3.4 - March 16, 2014
  • Python 3.5 - September 13, 2015

1.5 Python安裝

  目前,Python有兩個版本,一個是2.x版,一個是3.x版,這兩個版本是不兼容的。因爲3.x版愈來愈普及,咱們的教程將以最新的Python 3.6版本爲基礎。請確保你的電腦上安裝的Python版本是最新的3.6.x,這樣,你才能無痛學習這個教程。

  安裝Python至關簡單。下面咱們列舉在Windows 七、蘋果OS X,還有Ubuntu上的安裝步驟。在安裝Python的同時你也會安裝IDLE程序的快捷方式,它是用來寫Python程序的集成開發環境。

版本選擇:

python 2 vs 3

  1. 默認支持中文
  2. 不兼容2.x
  3. 核心語法調整,更易學
  4. 新特性默認只在3.x上有

1.5.1 Mac上安裝Python

若是你正在使用Mac,系統是OS X 10.8~10.10,那麼系統自帶的Python版本是2.7。要安裝最新的Python 3.6,有兩個方法:

方法一:從Python官網下載Python 3.6的安裝程序(網速慢的同窗請移步國內鏡像),雙擊運行並安裝;

方法二:若是安裝了Homebrew,直接經過命令brew install python3安裝便可。

1.5.2 Windows上安裝Python

首先,根據你的Windows版本(64位仍是32位)從Python的官方網站下載Python 3.5對應的64位安裝程序32位安裝程序(網速慢的同窗請移步國內鏡像),而後,運行下載的EXE安裝包:

特別要注意勾上Add Python 3.5 to PATH,而後點「Install Now」便可完成安裝。

1.5.3 Unix & Linux 平臺安裝 Python

如下爲在Unix & Linux 平臺上安裝 Python 的簡單步驟:

 

  1. 打開WEB瀏覽器訪問http://www.python.org/download/
  2. 選擇使用於Unix/Linux的源碼壓縮包。
  3. 下載及解壓壓縮包。

若是你須要自定義一些選項修改Modules/Setup

執行 ./configure 腳本

make 

make install

 

執行以上操做後,Python會安裝在 /usr/local/bin 目錄中,Python庫安裝在/usr/local/lib/pythonXX,XX爲你使用的Python的版本號。

Linux 安裝python:本文CentOS 7.3 安裝python3.6

CentOS 7.3自帶的python版本是2.7.5

  1 [root@localhost Python-3.6.0]# python -V
  2 
  3 Python 2.7.5
  4 
  5 [root@localhost ~]# cat /etc/centos-release
  6 
  7 CentOS Linux release 7.3.1611 (Core)
  8 
  9 [root@localhost ~]# uname -r
 10 
 11 3.10.0-514.el7.x86_64
 12 
 13 安裝python3.6可能使用的依賴
 14 
 15 [root@localhost ~]#  yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel -y
 16 
 17 下載python3.6編譯安裝
 18 
 19 到python官網下載https://www.python.org
 20 
 21 下載最新版源碼,使用make altinstall,若是使用make install,在系統中將會有兩個不一樣版本的Python在/usr/bin/目錄中。這將會致使不少問題,並且很差處理。
 22 
 23 [root@localhost ~]# clear
 24 
 25 [root@localhost ~]# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
 26 
 27 [root@localhost ~]# ll Python-3.6.0.tgz
 28 
 29 -rw-r--r--. 1 root root 22256403 12月 23 10:24 Python-3.6.0.tgz
 30 
 31 [root@localhost ~]# tar xf Python-3.6.0.tgz -C /usr/local/src/
 32 
 33 [root@localhost ~]# cd /usr/local/src/Python-3.6.0/
 34 
 35 把Python3.6安裝到 /usr/local 目錄
 36 
 37 [root@localhost Python-3.6.0]# yum install gcc gcc-c++ make -y
 38 
 39 [root@localhost Python-3.6.0]# ./configure --prefix=/usr/local
 40 
 41 [root@localhost Python-3.6.0]# make
 42 
 43 [root@localhost Python-3.6.0]# make altinstall
 44 
 45  
 46 
 47 python3.6程序的執行文件:/usr/local/bin/python3.6
 48 
 49 python3.6應用程序目錄:/usr/local/lib/python3.6
 50 
 51 pip3的執行文件:/usr/local/bin/pip3.6
 52 
 53 pyenv3的執行文件:/usr/local/bin/pyenv-3.6
 54 
 55  
 56 
 57 更改/usr/bin/python連接
 58 
 59 [root@localhost Python-3.6.0]# cd /usr/bin/
 60 
 61 [root@localhost bin]# mv python{,.bak}
 62 
 63 [root@localhost bin]# ln -sv /usr/local/bin/python3.6 /usr/bin/python
 64 
 65 "/usr/bin/python" -> "/usr/local/bin/python3.6"
 66 
 67 [root@localhost bin]# ln -sv /usr/local/bin/python3.6 /usr/bin/python3
 68 
 69 "/usr/bin/python3" -> "/usr/local/bin/python3.6"
 70 
 71  
 72 
 73 更改yum腳本的python依賴
 74 
 75 [root@localhost bin]# vim /usr/bin/yum
 76 
 77 更改文件頭爲
 78 
 79 #!/usr/bin/python 改成 #!/usr/bin/python2
 80 
 81  
 82 
 83 修改gnome-tweak-tool配置文件
 84 
 85 # vi /usr/bin/gnome-tweak-tool
 86 
 87 #!/usr/bin/python 改成 #!/usr/bin/python2
 88 
 89 #本文迷你版,沒有此文件
 90 
 91  
 92 修改urlgrabber配置文件
 93 
 94 # vi /usr/libexec/urlgrabber-ext-down
 95 
 96 #!/usr/bin/python 改成 #!/usr/bin/python2
 97 
 98  
 99 
100 [root@localhost bin]# python -V
101 
102 Python 3.6.0
View Code

1.6  Python運行

1.6.1  交互式解釋器

能夠經過命令行窗口進入python並開在交互式解釋器中開始編寫Python代碼。

你能夠在UnixDOS或任何其餘提供了命令行或者shell的系統進行python編碼工做。

 1 $python # Unix/Linux  
 2 [root@localhost ~]# python
 3 Python 3.6.0 (default, Apr  1 2017, 22:49:15) 
 4 [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
 5 Type "help", "copyright", "credits" or "license" for more information.
 6 >>> print ("hello world")
 7 hello world
 8 >>> exit()
 9 
10 C:>python # Windows/DOS
11 Microsoft Windows [版本 10.0.14393]
12 (c) 2016 Microsoft Corporation。保留全部權利。
13 
14 C:\Users\admin>python
15 Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
16 Type "help", "copyright", "credits" or "license" for more information.
17 >>> print("hello world")
18 hello world
19 >>> exit()
View Code

如下爲Python命令行參數:

 

選項

描述

-d

在解析時顯示調試信息

-O

生成優化代碼 ( .pyo 文件 )

-S

啓動時不引入查找Python路徑的位置

-v

輸出Python版本號

-X

1.6版本以後基於內建的異常(僅僅用於字符串)已過期。

-c cmd

執行 Python 腳本,並將運行結果做爲 cmd 字符串。

file

在給定的python文件執行python腳本。

1.6.2 命令行腳本

在你的應用程序中經過引入解釋器能夠在命令行中執行Python腳本,以下所示:

 1 $python script.py # Unix/Linux 
 2 
 3 或者 
 4 
 5 ./script.py # Unix/Linux 
 6 
 7 或者 
 8 
 9 C:>python script.py # Windows/DOS
10 
11 注意:在執行腳本時,請檢查腳本是否有可執行權限。
12 
13 [root@localhost ~]# python 1.py
14 
15 hello world
View Code

 

 

1.6.3 集成開發環境

您可使用圖形用戶界面(GUI)環境來編寫及運行Python代碼。如下推薦各個平臺上使用的IDE

Unix: IDLE UNIX 上最先的 Python IDE

Windows: PythonWin 是一個 Python 集成開發環境,在許多方面都比 IDE 優秀

Macintosh: Python Mac 可使用 IDLE IDE,你能夠在網站上下載對應MACIDLE  

PyCharm

PyCharm是由JetBrains打造的一款Python IDE

PyCharm具有通常 Python IDE 的功能,好比:調試、語法高亮、項目管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制等。

另外,PyCharm還提供了一些很好的功能用於Django開發,同時支持Google App Engine,更酷的是,PyCharm支持IronPython

PyCharm 官方下載地址:http://www.jetbrains.com/pycharm/download/

效果圖查看:

 

Sublime Text

該軟件收費,但支持永久試用。

Sublime Text具備漂亮的用戶界面和強大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定,菜單和工具欄。

Sublime Text 的主要功能包括:拼寫檢查,書籤,完整的 Python API Goto 功能,即時項目切換,多選擇,多窗口等等。

Sublime Text 是一個跨平臺的編輯器,同時支持WindowsLinuxMac OS X等操做系統。

 

使用Sublime Text 插件擴展功能,你能夠輕鬆的打造一款不錯的Python IDE,如下推薦幾款插件(你能夠找到更多):

CodeIntel:自動補全+成員/方法提示(強烈推薦)

SublimeREPL:用於運行和調試一些須要交互的程序(E.G. 使用了Input()的程序)

Bracket Highlighter:括號匹配及高亮

SublimeLinter:代碼pep8格式檢查

 

CentOS 7.3 安裝Sublime Text 3

 

一、下載軟件

因爲不是Ubuntu系統,因此不要點擊Ubuntu的連接,點擊tarball的下載連接,下載tar.bz2格式的壓縮包

 

二、解壓

[root@localhost ~]# ll sublime_text_3_build_3126_x64.tar.bz2

-rw-r--r--. 1 root root 9313954 4月   1 23:09 sublime_text_3_build_3126_x64.tar.bz2

[root@localhost ~]# tar xf sublime_text_3_build_3126_x64.tar.bz2 -C /usr/local

三、測試

sublime_text須要圖形界面支持,安裝圖形界面

[root@localhost ~]# yum group install "GNOME 桌面"

[root@localhost ~]# systemctl set-default graphical.target

[root@localhost ~]# reboot

 

下面在xshel上測試

[root@localhost ~]# export DISPLAY=192.168.95.1:0.0

[root@localhost ~]# xhost +

[root@localhost ~]# /usr/local/sublime_text_3/sublime_text 

 

四、配置快捷菜單

複製默認的快捷設置文件到/usr/share/applications/目錄下("/usr/local/sublime_text_3"修改成你本身的sublime安裝路徑)  

 

[root@localhost ~]# cp /usr/local/sublime_text_3/sublime_text.desktop /usr/share/applications/

 

編輯默認的設置文件

 

把紅框內容修改成你本身的文件目錄保存退出

 

腳本執行注意事項:

一、未指定解釋器,可使用python 1.py 執行

1 [root@localhost ~]# cat 1.py
2 
3 print("hello world")
4 
5 [root@localhost ~]# python 1.py
6 
7 hello world
View Code

 

二、腳本編寫方法

本文以Linux爲例

 1 [root@localhost ~]# vim 2.py
 2 
 3 #!/usr/bin/python
 4 
 5 print("hello world")
 6 
 7 [root@localhost ~]# chmod +x 2.py
 8 
 9 [root@localhost ~]# ./2.py
10 
11 hello world
12 
13  
14 
15 或者
16 
17 [root@localhost ~]# vim 3.py
18 
19  
20 
21 #!/usr/bin/env python
22 
23 print("hello world")
24 
25 [root@localhost ~]# ./3.py
26 
27 hello world
View Code

1.7 Python註釋

一、python單行註釋符號(#)

井號(#)常被用做單行註釋符號,在代碼中使用#時,它右邊的任何數據都會被忽略,當作是註釋。

print(1) #輸出1

#號右邊的內容在執行的時候是不會被輸出的。

二、批量、多行註釋符號

python中也會有註釋有不少行的時候,這種狀況下就須要批量多行註釋符了。多行註釋是用三引號'''   '''包含的,例如

 

 1 '''
 2     我是多行註釋,能夠寫不少不少行的功能說明
 3     這就是我牛X指出
 4 
 5     哈哈哈。。。
 6 '''
 7 
 8 ''' 
 9     下面的代碼完成 ,打印一首詩
10     名字叫作:春江花月夜
11     做者,忘了
12 '''
View Code

三、python中文註釋方法

Python2中默認的編碼格式是 ASCII 格式,在沒修改編碼格式時沒法正確打印漢字,因此在讀取中文時會報錯。

解決方法爲只要在文件開頭加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就好了。

注意:Python3.X 源碼文件默認使用utf-8編碼,因此能夠正常解析中文,無需指定 UTF-8 編碼。

好比:

 1 [root@localhost ~]# cat 3.py
 2 
 3 #!/usr/bin/env python
 4 
 5 print("hello world")
 6 
 7 print("歡迎學習pytho")
 8 
 9 [root@localhost ~]# ./3.py
10 
11 hello world
12 
13 歡迎學習pytho
View Code
相關文章
相關標籤/搜索