# 使用源文件
現在讓我們重新開始編程。當你學習一種新的編程語言的時候,你編寫運行的第一個程序通常都是“Hello World”程序,這已經成為一種傳統了。在你運行“Hello World”程序的時候,它所做的事只是說聲:“Hello World”。正如提出“Hello World”程序的<sup>[[1](#n1)]</sup>所說:“它是編程之神的傳統咒語,可以幫助你更好的學習語言。”
啟動你選擇的編輯器,輸入下面這段程序,然后把它保存為`helloworld.py。`
```
#!/usr/bin/python
# Filename : helloworld.py
print?'Hello World'
```
(源文件:[code/helloworld.py](code/helloworld.py))
為了運行這個程序,請打開shell(Linux終端或者DOS提示符),然后鍵入命令**python helloworld.py**。如果你使用IDLE,請使用菜單Edit->Run Script或者使用鍵盤快捷方式**Ctrl-F5**。輸出如下所示。
```
$ python helloworld.py
Hello World
```
如果你得到的輸出與上面所示的一樣,那么恭喜!——你已經成功地運行了你的第一個Python程序。
萬一你得到一個錯誤,那么請確保你鍵入的程序 準確無誤 ,然后再運行一下程序。注意Python是大小寫敏感的,即`print`與`Print`不一樣——注意前一個是小寫`p`而后一個是大寫`P`。另外,確保在每一行的開始字符前沒有空格或者制表符——我們將在后面討論為什么這點是重要的。
讓我們思考一下這個程序的前兩行。它們被稱作 注釋 ——任何在#符號右面的內容都是注釋。注釋主要作為提供給程序讀者的筆記。
Python至少應當有第一行那樣的特殊形式的注釋。它被稱作 組織行 ——源文件的頭兩個字符是#!,后面跟著一個程序。這行告訴你的Linux/Unix系統當你 執行 你的程序的時候,它應該運行哪個解釋器。這會在[下一節](ch03s05.html)做詳細解釋。注意,你總是可以通過直接在命令行指定解釋器,從而在任何平臺上運行你的程序。就如同命令**python helloworld.py**一樣。
重要
在你的程序中合理地使用注釋以解釋一些重要的細節——這將有助于你的程序的讀者輕松地理解程序在干什么。記住,這個讀者可能就是6個月以后的你!
跟在注釋之后的是一句Python 語句 ——它只是打印文本“Hello World”。`print`實際上是一個操作符,而“Hello World”被稱為一個字符串——別擔心我們會在后面詳細解釋這些術語。
<sup>[[1](#j1)]</sup>一位最主要的Perl6/Parrot高手,轟動的《開始Perl》一書的作者。
- 版權信息
- 前言
- 本書的由來
- 本書目前的狀況
- 約定條款
- 反饋
- 值得思考的一些東西
- 第1章 介紹
- Python的特色
- 為什么不使用Perl?
- 程序員的話
- 第2章 安裝Python
- Windows?用戶
- 概括
- 第3章 最初的步驟
- 使用帶提示符的解釋器
- 挑選一個編輯器
- 使用源文件
- 可執行的Python程序
- 獲取幫助
- 概括
- 第4章 基本概念
- 數
- 字符串
- 變量
- 標識符的命名
- 數據類型
- 對象
- 邏輯行與物理行
- 縮進
- 概括
- 第5章 運算符與表達式
- 運算符
- 運算符優先級
- 表達式
- 概括
- 第6章 控制流
- if語句
- while語句
- for循環
- break語句
- continue語句
- 概括
- 第7章 函數
- 函數形參
- 局部變量
- 默認參數值
- 關鍵參數
- return語句
- DocStrings
- 概括
- 第8章 模塊
- 字節編譯的.pyc文件
- from..import語句
- 模塊的name
- 制造你自己的模塊
- dir()函數
- 概括
- 第9章 數據結構
- 列表
- 元組
- 字典
- 序列
- 參考
- 更多字符串的內容
- 概括
- 第10章 解決問題——編寫一個Python腳本
- 解決方案
- 軟件開發過程
- 概括
- 第11章 面向對象的編程
- self
- 類
- 對象的方法
- __init__方法
- 類與對象的方法
- 繼承
- 概括
- 第12章 輸入/輸出
- 儲存器
- 概括
- 第13章 異常
- try..except
- 引發異常
- try..finally
- 概括
- 第14章 Python標準庫
- sys模塊
- os模塊
- 概括
- 第15章 更多Python的內容
- 單語句塊
- 列表綜合
- 在函數中接收元組和列表
- lambda形式
- exec和eval語句
- assert語句
- repr函數
- 概括
- 第16章 接下來學習什么?
- 探索更多內容
- 概括
- 附錄A 自由/開放源碼軟件(FLOSS)
- 附錄B 關于本書
- 關于作者
- 關于譯者
- 關于簡體中文譯本
- 附錄C 修訂記錄
- 術語表