當然,我們可以使用 Python 完成比二加二更復雜的任務。例如,我們可以寫一個生成?_菲波那契_?子序列的程序,如下所示:
~~~
>>> # Fibonacci series:
... # the sum of two elements defines the next
... a, b = 0, 1
>>> while b 10:
... print(b)
... a, b = b, a+b
...
1
1
2
3
5
8
~~~
這個例子介紹了幾個新功能。
* 第一行包括了一個?_多重賦值_:變量?a?和?b?同時獲得了新的值 0 和 1 最后一行又使用了一次。在這個演示中,變量賦值前,右邊首先完成計算。右邊的表達式從左到右計算。
* 條件(這里是?b??10?)為 true 時,?while?循環執行。在 Python 中,類似于 C,任何非零整數都是 true;0 是 false 條件也可以是字符串或列表,實際上可以是任何序列;所有長度不為零的是 true,空序列是 false。示例中的測試是一個簡單的比較。標準比較操作符與 C 相同:??,>?,?==?,?,?>=?和?!=。
* 循環?_體_?是?_縮進_?的:縮進是 Python 是 Python 組織語句的方法。Python (還)不提供集成的行編輯功能,所以你要為每一個縮進行輸入 TAB 或空格。實踐中建議你找個文本編輯來錄入復雜的 Python 程序,大多數文本編輯器提供自動縮進。交互式錄入復合語句時,必須在最后輸入一個空行來標識結束(因為解釋器沒辦法猜測你輸入的哪一行是最后一行),需要 注意的是同一個語句塊中的語句塊必須縮進同樣數量的空白。
* 關鍵字?print?語句輸出給定表達式的值。它控制多個表達式和字符串輸出為你想要字符串(就像我們在前面計算器的例子中那樣)。字符串打印時不用引號包圍,每兩個子項之間插入空間,所以你可以把格式弄得很漂亮,像這樣:
~~~
>>> i = 256*256
>>> print('The value of i is', i)
The value of i is 65536
~~~
用一個逗號結尾就可以禁止輸出換行:
~~~
>>> a, b = 0, 1
>>> while b 1000:
... print(b, end=',')
... a, b = b, a+b
...
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
~~~
- Python 入門指南
- 1. 開胃菜
- 2. 使用 Python 解釋器
- 2.1. 調用 Python 解釋器
- 2.2. 解釋器及其環境
- 3. Python 簡介
- 3.1. 將 Python 當做計算器
- 3.2. 編程的第一步
- 4. 深入 Python 流程控制
- 4.1. if 語句
- 4.2. for 語句
- 4.3. range() 函數
- 4.4. break 和 continue 語句, 以及循環中的 else 子句
- 4.5. pass 語句
- 4.6. 定義函數
- 4.7. 深入 Python 函數定義
- 4.8. 插曲:編碼風格
- 5. 數據結構
- 5.1. 關于列表更多的內容
- 5.2. del 語句
- 5.3. 元組和序列
- 5.4. 集合
- 5.5. 字典
- 5.6. 循環技巧
- 5.7. 深入條件控制
- 5.8. 比較序列和其它類型
- 6. 模塊
- 6.1. 深入模塊
- 6.2. 標準模塊
- 6.3. dir() 函數
- 6.4. 包
- 7. 輸入和輸出
- 7.1. 格式化輸出
- 7.2. 文件讀寫
- 8. 錯誤和異常
- 8.1. 語法錯誤
- 8.2. 異常
- 8.3. 異常處理
- 8.4. 拋出異常
- 8.5. 用戶自定義異常
- 8.6. 定義清理行為
- 8.7. 預定義清理行為
- 9. 類
- 9.1. 術語相關
- 9.2. Python 作用域和命名空間
- 9.3. 初識類
- 9.4. 一些說明
- 9.5. 繼承
- 9.6. 私有變量
- 9.7. 補充
- 9.8. 異常也是類
- 9.9. 迭代器
- 9.10. 生成器
- 9.11. 生成器表達式
- 10. Python 標準庫概覽
- 10.1. 操作系統接口
- 10.2. 文件通配符
- 10.3. 命令行參數
- 10.4. 錯誤輸出重定向和程序終止
- 10.5. 字符串正則匹配
- 10.6. 數學
- 10.7. 互聯網訪問
- 10.8. 日期和時間
- 10.9. 數據壓縮
- 10.10. 性能度量
- 10.11. 質量控制
- 10.12. “瑞士軍刀”
- 11. 標準庫瀏覽 – Part II
- 11.1. 輸出格式
- 11.2. 模板
- 11.3. 使用二進制數據記錄布局
- 11.4. 多線程
- 11.5. 日志
- 11.6. 弱引用
- 11.7. 列表工具
- 11.8. 十進制浮點數算法
- 12. 接下來?
- 13. 交互式輸入行編輯歷史回溯
- 13.1. 行編輯
- 13.2. 歷史回溯
- 13.3. 快捷鍵綁定
- 13.4. 其它交互式解釋器
- 14. 浮點數算法:爭議和限制
- 14.1. 表達錯誤
- 15. 附錄
- 15.1. 交互模式