# 邏輯行與物理行
物理行是你在編寫程序時所 看見 的。邏輯行是Python 看見 的單個語句。Python假定每個 物理行 對應一個 邏輯行 。
邏輯行的例子如`print 'Hello World'`這樣的語句——如果它本身就是一行(就像你在編輯器中看到的那樣),那么它也是一個物理行。
默認地,Python希望每行都只使用一個語句,這樣使得代碼更加易讀。
如果你想要在一個物理行中使用多于一個邏輯行,那么你需要使用分號(;)來特別地標明這種用法。分號表示一個邏輯行/語句的結束。例如:
```
i = 5
print i
```
與下面這個相同:
```
i = 5;
print i;
```
同樣也可以寫成:
```
i = 5; print i;
```
甚至可以寫成:
```
i = 5; print i
```
然而,我**強烈建議**你堅持**在每個物理行只寫一句邏輯行**。僅僅當邏輯行太長的時候,在多于一個物理行寫一個邏輯行。這些都是為了盡可能避免使用分號,從而讓代碼更加易讀。事實上,我 從來沒有 在Python程序中使用過或看到過分號。
下面是一個在多個物理行中寫一個邏輯行的例子。它被稱為**明確的行連接**。
```
s = 'This is a string. \
This continues the string.'
print s
```
它的輸出:
```
This is a string. This continues the string.
```
類似地,
```
print \
i
```
與如下寫法效果相同:
```
print i
```
有時候,有一種暗示的假設,可以使你不需要使用反斜杠。這種情況出現在邏輯行中使用了圓括號、方括號或波形括號的時候。這被稱為**暗示的行連接**。你會在后面介紹如何使用[列表](ch09s02.html)的章節中看到這種用法。
- 版權信息
- 前言
- 本書的由來
- 本書目前的狀況
- 約定條款
- 反饋
- 值得思考的一些東西
- 第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 修訂記錄
- 術語表