Linux 利器- Python 指令碼程式設計入門(一)
首先,我們會使用 Python 的 行工具,還會接觸到 Python 的物件導向特性(這篇文章的後半部分會談到它)。
學習 Python 可以助力於你在桌面應用開發及資料科學領域的職業發展。
容易上手,廣泛使用,擁有海量“開箱即用”的模組(它是一組包含 Python 語句的外部檔案),Python 理所當然地成為了美國計算機專業大學生在一年級時所上的程式設計課所用語言的不二之選。
在這個由兩篇文章構成的系列中,我們將回顧 Python 的基礎部分,希望初學程式設計的你能夠將這篇實用的文章作為一個程式設計入門的跳板,和日後使用 Python 時的一篇快速指引。
Python 2.x 和 3.x 通常已經內建在現代 Linux 發行版中,你可以立刻使用它。你可以終端模擬器中輸入 "python" 或 "python3"來進入 Python shell, 並輸入 "quit()" 退出。
$ which python $ which python3 $ python -v $ python3 -v $ python >>> quit() $ python3 >>> quit()
如果你希望在鍵入 "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.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 有一個叫做拼接 (concatenation) 的實用功能——給 print 函式提供一串用逗號分隔的變數和/或字串,它會返回一個由你剛才提供的變數依序構成的句子:
>>> a = 5 >>> b = 8 >>> x = b / a >>> x 1.6 >>> print(b, "divided by", a, "equals", x)
注意,你可以將不同型別的變數(數字,字串,布林符號等等)混合在一起。當你將一個值賦給一個變數後,你可以隨後更改它的型別,不會有任何問題(因此,Python 被稱為動態型別語言)。
如果你嘗試在靜態型別語言中(如 Java 或 C#)做這件事,它將丟擲一個錯誤。
在物件導向程式設計(OOP)中,程式中的所有實體都會由物件的形式呈現,並且它們可以與其他物件互動。因此,物件擁有屬性,而且大多數物件可以執行動作(這被稱為物件的方法)。
舉個例子:我們來想象一下,建立一個物件“狗”。它可能擁有的一些屬性有顏色、品種、年齡等等,而它可以完成的動作有 叫()、吃()、睡覺(),諸如此類。
你可以看到,方法名後面會跟著一對括號,括號當中可能會包含一個或多個引數(向方法中傳遞的值),也有可能什麼都不包含。
我們用 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來顯示這個物件的可用方法列表。
列表中含有的元素個數是它的一個屬性。它通常被叫做“長度”,你可以透過向內建函式 "len" 傳遞一個列表作為它的引數來顯示該列表的長度(順便一提,之前的例子中提到的 print 語句,是 Python 的另一個內建函式)。
如果你在 IDLE 中輸入 "len",然後跟上一個不閉合的括號,你會看到這個函式的預設語法:
現在我們來看看列表中的特定條目。它們也有屬性和方法嗎?答案是肯定的。比如,你可以將一個字串條目轉換為大寫形式,並獲取這個字串所包含的字元數量。像下面這樣做:
>>> rockBands[0].upper() 'THE BEATLES' >>> len(rockBands[0]) 11
在這篇文章中,我們簡要介紹了 Python、它的命令列 shell、IDLE,展示瞭如何執行算術運算,如何在變數中儲存資料,如何使用 "print" 函式在螢幕上重新顯示那些資料(無論是它們本身還是它們的一部分),還透過一個實際的例子解釋了物件的屬性和方法。
下一篇文章中,我們會展示如何使用條件語句和迴圈語句來實現流程控制。我們也會解釋如何編寫一個 來幫助我們完成系統管理任務。
你是不是想繼續學習一些有關 Python 的知識呢?敬請期待本系列的第二部分(我們會在指令碼中將 Python 和命令列工具的優點結合在一起),你還可以考慮購買我們的《終極 Python 程式設計》系列教程。
像往常一樣,如果你對這篇文章有什麼問題,可以向我們尋求幫助。你可以使用下面的聯絡表單向我們傳送留言,我們會盡快回復你。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2926612/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux命令列與shell指令碼程式設計入門經驗Linux命令列指令碼程式設計
- Python程式設計入門Python程式設計
- 入門程式碼程式設計程式設計
- 【Linux】Linux系統程式設計入門Linux程式設計
- 微信小程式入門教程之三:指令碼程式設計微信小程式指令碼程式設計
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計
- Linux入門---(三)Shell程式設計Linux程式設計
- Linux系統程式設計入門Linux程式設計
- LINUX Shell指令碼程式設計例項詳解(一)上Linux指令碼程式設計
- Python 非同步程式設計入門Python非同步程式設計
- Linux Shell指令碼程式設計-基礎1Linux指令碼程式設計
- Linux Shell指令碼程式設計while語句案例Linux指令碼程式設計While
- python程式設計真的好學嗎?python入門Python程式設計
- Linux-shell程式設計入門基礎Linux程式設計
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- JAVA NIO程式設計入門(一)Java程式設計
- SELL 指令碼程式設計指令碼程式設計
- Shell程式設計-01-Shell指令碼初步入門程式設計指令碼
- 【Python程式設計從入門到實踐】 1 Linux搭建Python編譯環境Python程式設計Linux編譯
- 探索 TypeScript 程式設計的利器:ts-morph 入門與實踐TypeScript程式設計
- 《Python程式設計:從入門到實踐》Python程式設計
- 【Python入門基礎】網路程式設計Python程式設計
- Python專案實戰(一)《Python程式設計 從入門到實踐》Python程式設計
- swift指令碼程式設計:一鍵生成AppIconSwift指令碼程式設計APP
- Python快速程式設計入門課後程式題答案Python程式設計
- Linux指令入門-磁碟管理Linux
- python核心程式設計:入門Python程式設計的8個實踐性建議Python程式設計
- Shell 指令碼程式設計陷阱指令碼程式設計
- Python 程式設計從入門到實踐5Python程式設計
- 《Python遊戲程式設計入門》7.4習題Python遊戲程式設計
- 程式設計入門18:Python生產環境程式設計Python
- 程式設計入門之字元編碼與亂碼程式設計字元
- Python+django網頁設計入門(16):優化設計複用分頁程式碼PythonDjango網頁優化
- Shell 程式設計入門程式設計
- 一個小白來分享程式設計入門程式設計
- 程式設計和網路程式設計入門程式設計
- Linux指令入門-檔案管理Linux
- Linux_day06_01_Shell指令碼程式設計_Bash基礎Linux指令碼程式設計