Linux 平台下 Python 腳本編程入門(一)
在 Linux 中學習 Python 腳本編程
首先,我們會使用 Python 的命令行工具,還會接觸到 Python 的面向對象特性(這篇文章的後半部分會談到它)。
學習 Python 可以助力於你在桌面應用開發及數據科學領域的職業發展。
容易上手,廣泛使用,擁有海量「開箱即用」的模塊(它是一組包含 Python 語句的外部文件),Python 理所當然地成為了美國計算機專業大學生在一年級時所上的程序設計課所用語言的不二之選。
在這個由兩篇文章構成的系列中,我們將回顧 Python 的基礎部分,希望初學編程的你能夠將這篇實用的文章作為一個編程入門的跳板,和日後使用 Python 時的一篇快速指引。
Linux 中的 Python
Python 2.x 和 3.x 通常已經內置在現代 Linux 發行版中,你可以立刻使用它。你可以終端模擬器中輸入 python
或 python3
來進入 Python shell, 並輸入 quit()
退出。
$ which python
$ which python3
$ python -v
$ python3 -v
$ python
>>> quit()
$ python3
>>> quit()
在 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
刪除 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 做不了的事。
比如,你可以:
- 輕鬆打開外部文件 (File → Open);
Python Shell
- 複製 (
Ctrl + C
) 和粘貼 (Ctrl + V
) 文本; - 查找和替換文本;
- 顯示可能的代碼補全(一個在其他 IDE 里可能叫做「智能感知」或者「自動補完」的功能);
- 更改字體和字型大小,等等。
最厲害的是,你可以用 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#)做這件事,它將拋出一個錯誤。
學習 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
來顯示這個對象的可用方法列表。
列出可用的 Python 方法
列表中含有的元素個數是它的一個屬性。它通常被叫做「長度」,你可以通過向內建函數 len
傳遞一個列表作為它的參數來顯示該列表的長度(順便一提,之前的例子中提到的 print 語句,是 Python 的另一個內建函數)。
如果你在 IDLE 中輸入 len
,然後跟上一個不閉合的括弧,你會看到這個函數的默認語法:
Python 的 len 函數
現在我們來看看列表中的特定條目。它們也有屬性和方法嗎?答案是肯定的。比如,你可以將一個字元串條目轉換為大寫形式,並獲取這個字元串所包含的字元數量。像下面這樣做:
>>> rockBands[0].upper()
'THE BEATLES'
>>> len(rockBands[0])
11
總結
在這篇文章中,我們簡要介紹了 Python、它的命令行 shell、IDLE,展示了如何執行算術運算,如何在變數中存儲數據,如何使用 print
函數在屏幕上重新顯示那些數據(無論是它們本身還是它們的一部分),還通過一個實際的例子解釋了對象的屬性和方法。
下一篇文章中,我們會展示如何使用條件語句和循環語句來實現流程式控制制。我們也會解釋如何編寫一個腳本來幫助我們完成系統管理任務。
你是不是想繼續學習一些有關 Python 的知識呢?敬請期待本系列的第二部分(我們會在腳本中將 Python 和命令行工具的優點結合在一起),你還可以考慮購買我們的《終極 Python 編程》系列教程(這裡有詳細信息)。
像往常一樣,如果你對這篇文章有什麼問題,可以向我們尋求幫助。你可以使用下面的聯繫表單向我們發送留言,我們會儘快回復你。
via: http://www.tecmint.com/learn-python-programming-and-scripting-in-linux/
作者:Gabriel Cánepa 譯者:StdioA 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive