# 第11章 面向對象的編程
**目錄表**
+ 簡介
+ self
+ 類
+ 創建一個類
+ 對象的方法
+ 使用對象的方法
+ __init__方法
+ 使用__init__方法
+ 類與對象的變量
+ 使用類與對象的變量
+ 繼承
+ 使用繼承
+ 概括
到目前為止,在我們的程序中,我們都是根據操作數據的函數或語句塊來設計程序的。這被稱為 面向過程的 編程。還有一種把數據和功能結合起來,用稱為對象的東西包裹起來組織程序的方法。這種方法稱為 面向對象的 編程理念。在大多數時候你可以使用過程性編程,但是有些時候當你想要編寫大型程序或是尋求一個更加合適的解決方案的時候,你就得使用面向對象的編程技術。
類和對象是面向對象編程的兩個主要方面。**類**創建一個新類型,而**對象**這個類的 實例 。這類似于你有一個`int`類型的變量,這存儲整數的變量是`int`類的實例(對象)。
給C/C++/Java/C#程序員的注釋
注意,即便是整數也被作為對象(屬于`int`類)。這和C++、Java(1.5版之前)把整數純粹作為類型是不同的。通過`help(int)`了解更多這個類的詳情。 C#和Java 1.5程序員會熟悉這個概念,因為它類似與 封裝與解封裝 的概念。
對象可以使用普通的 屬于 對象的變量存儲數據。屬于一個對象或類的變量被稱為**域**。對象也可以使用 屬于 類的函數來具有功能。這樣的函數被稱為類的**方法**。這些術語幫助我們把它們與孤立的函數和變量區分開來。域和方法可以合稱為類的**屬性**。
域有兩種類型——屬于每個實例/類的對象或屬于類本身。它們分別被稱為**實例變量**和**類變量**。
類使用`class`關鍵字創建。類的域和方法被列在一個縮進塊中。
- 版權信息
- 前言
- 本書的由來
- 本書目前的狀況
- 約定條款
- 反饋
- 值得思考的一些東西
- 第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 修訂記錄
- 術語表