Linux 利器- Python 腳本編程入門(一)

導讀 衆所周知,系統管理員須要精通一門腳本語言,並且招聘機構列出的職位需求上也會這麼寫。大多數人會認爲 Bash (或者其餘的 shell 語言)用起來很方便,但一些強大的語言(好比 Python)會給你帶來一些其它的好處。

首先,咱們會使用 Python 的命令行工具,還會接觸到 Python 的面向對象特性(這篇文章的後半部分會談到它)。python

學習 Python 能夠助力於你在桌面應用開發及數據科學領域的職業發展。shell

容易上手,普遍使用,擁有海量「開箱即用」的模塊(它是一組包含 Python 語句的外部文件),Python 理所固然地成爲了美國計算機專業大學生在一年級時所上的程序設計課所用語言的不二之選。編程

在這個由兩篇文章構成的系列中,咱們將回顧 Python 的基礎部分,但願初學編程的你可以將這篇實用的文章做爲一個編程入門的跳板,和往後使用 Python 時的一篇快速指引。app

Linux 中的 Python

Python 2.x 和 3.x 一般已經內置在現代 Linux 發行版中,你能夠馬上使用它。你能夠終端模擬器中輸入 "python" 或 "python3"來進入 Python shell, 並輸入 "quit()" 退出。ide

$ which python
$ which python3
$ python -v
$ python3 -v
$ python
>>> quit()
$ python3
>>> quit()

Linux 平臺下 Python 腳本編程入門(一)

在 Linux 中運行 Python 命令

若是你但願在鍵入 "python" 時使用 Python 3.x 而不是 2.x,你能夠像下面同樣更改對應的符號連接:函數

$ sudo rm /usr/bin/python 
$ cd /usr/bin
$ ln -s python3.2 python # Choose the Python 3.x binary here

Linux 平臺下 Python 腳本編程入門(一)

刪除 Python 2,使用 Python 3

順便一提,有一點須要注意:儘管 Python 2.x 仍舊被使用,但它並不會被積極維護。所以,你可能要考慮像上面指示的那樣來切換到 3.x。2.x 和 3.x 的語法有一些不一樣,咱們會在這個系列文章中使用後者。工具

另外一個在 Linux 中使用 Python 的方法是經過 IDLE (Python 集成開發環境),這是一個爲編寫 Python 代碼而生的圖形用戶界面。在安裝它以前,你最好查看一下適用於你的 Linux 發行版的 IDLE 可用版本。學習

# aptitude search idle     [Debian 及其衍生髮行版]
# yum search idle          [CentOS 和 Fedora]
# dnf search idle          [Fedora 23+ 版本]

而後,你能夠像下面同樣安裝它:字體

$ sudo aptitude install idle-python3.2    # I'm using Linux Mint 13

安裝成功後,你會看到 IDLE 的運行畫面。它很像 Python shell,可是你能夠用它作更多 Python shell 作不了的事。ui

好比,你能夠:

  1. 輕鬆打開外部文件 (File → Open);
    Linux 平臺下 Python 腳本編程入門(一)
    Python Shell
  2. 複製 (Ctrl + C) 和粘貼 (Ctrl + V) 文本;
  3. 查找和替換文本;
  4. 顯示可能的代碼補全(一個在其餘 IDE 裏可能叫作「智能感知」或者「自動補完」的功能);
  5. 更改字體和字號,等等。

最厲害的是,你能夠用 IDLE 建立桌面應用。

咱們在這兩篇文章中不會開發桌面應用,因此你能夠根據喜愛來選擇 IDLE 或 Python shell 去運行下面的例子。

Python 中的基本運算

就像你預料的那樣,你可以直接進行算術操做(你能夠在你的全部運算中使用足夠多的括號!),還能夠輕鬆地使用 Python 拼接字符串。

你還能夠將運算結果賦給一個變量,而後在屏幕上顯示它。Python 有一個叫作拼接 (concatenation) 的實用功能——給 print 函數提供一串用逗號分隔的變量和/或字符串,它會返回一個由你剛纔提供的變量依序構成的句子:

>>> a = 5
>>> b = 8
>>> x = b / a
>>> x
1.6
>>> print(b, "divided by", a, "equals", x)

注意,你能夠將不一樣類型的變量(數字,字符串,布爾符號等等)混合在一塊兒。當你將一個值賦給一個變量後,你能夠隨後更改它的類型,不會有任何問題(所以,Python 被稱爲動態類型語言)。

若是你嘗試在靜態類型語言中(如 Java 或 C#)作這件事,它將拋出一個錯誤。

Linux 平臺下 Python 腳本編程入門(一)

學習 Python 的基本操做
面向對象編程的簡單介紹

在面向對象編程(OOP)中,程序中的全部實體都會由對象的形式呈現,而且它們能夠與其餘對象交互。所以,對象擁有屬性,並且大多數對象能夠執行動做(這被稱爲對象的方法)。

舉個例子:咱們來想象一下,建立一個對象「狗」。它可能擁有的一些屬性有顏色、品種、年齡等等,而它能夠完成的動做有 叫()、吃()、睡覺(),諸如此類。

你能夠看到,方法名後面會跟着一對括號,括號當中可能會包含一個或多個參數(向方法中傳遞的值),也有可能什麼都不包含。

咱們用 Python 的基本對象類型之一——列表來解釋這些概念。

解釋對象的屬性和方法:Python 中的列表

列表是條目的有序組合,而這些條目所屬的數據類型並不須要相同。咱們像下面同樣來使用一對方括號,來建立一個名叫 "rockBands" 的列表:

你能夠向 "rockBands" 的 "append()" 方法傳遞條目,來將它添加到列表的尾部,就像下面這樣:

>>> rockBands = []
>>> rockBands.append("The Beatles")
>>> rockBands.append("Pink Floyd")
>>> rockBands.append("The Rolling Stones")

爲了從列表中移除元素,咱們能夠向 "remove()" 方法傳遞特定元素,或向 "pop()" 中傳遞列表中待刪除元素的位置(從 0 開始計數)。

換句話說,咱們能夠用下面這種方法來從列表中刪除 「The Beatles」:

>>> rockBands.remove("The Beatles")

或者用這種方法:

>>> rockBands.pop(0)

若是你輸入了對象的名字,而後在後面輸入了一個點,你能夠按 Ctrl + space來顯示這個對象的可用方法列表。

Linux 平臺下 Python 腳本編程入門(一)

列出可用的 Python 方法

列表中含有的元素個數是它的一個屬性。它一般被叫作「長度」,你能夠經過向內建函數 "len" 傳遞一個列表做爲它的參數來顯示該列表的長度(順便一提,以前的例子中提到的 print 語句,是 Python 的另外一個內建函數)。

若是你在 IDLE 中輸入 "len",而後跟上一個不閉合的括號,你會看到這個函數的默認語法:

Linux 平臺下 Python 腳本編程入門(一)

Python 的 len 函數

如今咱們來看看列表中的特定條目。它們也有屬性和方法嗎?答案是確定的。好比,你能夠將一個字符串條目轉換爲大寫形式,並獲取這個字符串所包含的字符數量。像下面這樣作:

>>> rockBands[0].upper()
'THE BEATLES'
>>> len(rockBands[0])
11
總結

在這篇文章中,咱們簡要介紹了 Python、它的命令行 shell、IDLE,展現瞭如何執行算術運算,如何在變量中存儲數據,如何使用 "print" 函數在屏幕上從新顯示那些數據(不管是它們自己仍是它們的一部分),還經過一個實際的例子解釋了對象的屬性和方法。

下一篇文章中,咱們會展現如何使用條件語句和循環語句來實現流程控制。咱們也會解釋如何編寫一個腳原本幫助咱們完成系統管理任務。

你是否是想繼續學習一些有關 Python 的知識呢?敬請期待本系列的第二部分(咱們會在腳本中將 Python 和命令行工具的優勢結合在一塊兒),你還能夠考慮購買咱們的《終極 Python 編程》系列教程。

像往常同樣,若是你對這篇文章有什麼問題,能夠向咱們尋求幫助。你可使用下面的聯繫表單向咱們發送留言,咱們會盡快回復你。

相關文章
相關標籤/搜索