## 類
前面我講到基本數據類型用來表示最常見的信息,但信息有無窮多種,為了更好的表達信息,我們可以創建自定義的數據類型。
一種數據類型就是一個類。例如整數,浮點數,字符串等。
### 類的定義
python中通過關鍵字`class`可以定義一個自定義的數據類型,基本語法如下:
```python
class 類名:
屬性
方法
```
注意:python中類名規則同變量名,但是一般使用`大駝峰`來表示。
案例:創建一個`Point`類用于表示平面坐標系中的一個點
```python
class Point:
"""
表示平面坐標系中的一個點
"""
print(Cat)
<class '__main__.Point'>
```
三雙引號中的類容是類的說明文檔。
## 對象
某種數據類型的一個具體的數據稱為這個類的一個對象或者實例。
例如,`1`是整數的一個對象,`'hello'`是字符串的一個對象。
我認為,所謂的面向對象,就是把一些數據抽象成類的思想。置于作用,深入學習之后才會有體會,這里不做過多的說明。
我們經常聽到這樣一句話:"python是一門面向對象的編程語言,python中一切皆對象。"
這意味著python中任何數據都有其對應的類型,例如函數也是一個類,定義的某個函數就是函數類型的一個具體實例。
```python
>>> def func():
... pass
>>> print(type(func))
<class 'function'>
```
### 實例化
通過類創建對象叫做實例化。
除了基本數據類型的實例化過程用到了特殊的語法外,所有自定義的數據類型進行實例化都是通過調用類名來實現的,非常簡單,語法如下:
```python
類名([參數])
```
看起來和調用函數一樣(實際上就是調用了一些函數)。
案例:
給上面創建的`Point`類創建一個實例。
```python
>>> p = Point()
>>> print(p, type(p))
<__main__.Point object at 0x000001FC02CBBD00> <class '__main__.Point'>
```
直接打印對象默認會返回其內存地址。
- 第1章 編程基礎
- 零基礎能學Python嗎?
- 編程語言是什么
- 編譯型與解釋型編程語言的區別
- python是什么?
- 學python能干什么?
- 第2章 python開發環境搭建
- windows下安裝python
- cmd命令行工具
- 環境變量如何設置?
- 如何運行python程序?
- 學習神器Jupyter lab
- 第3章 基本數據類型
- 基本數據類型概述
- 變量的定義和使用
- 整數類型
- 浮點數類型
- 算術運算符
- 賦值運算符
- 字符串類型
- 字符串常用方法
- 字符串格式化
- 列表類型
- 元組類型
- 可變與不可變類型
- 深淺拷貝
- 集合類型
- 字典類型
- 布爾型
- NoneType
- 第4章 程序流程控制
- 程序結構
- if分支語句
- while條件循環
- for循環
- 循環控制關鍵字
- 異常處理
- 第5章函數與代碼復用
- 函數的定義和調用
- 函數的參數
- 函數的返回值
- lambda函數
- 變量作用域
- python內建函數
- 第6章 面向對象
- 類和對象
- 屬性
- 方法
- 繼承
- super()函數
- 多態
- 私有化
- 自省與反射機制
- 第7章 模塊和包
- 模塊
- 包
- 第三方庫
- 第8章 文件IO操作
- 文件概述
- 字符編碼
- 字節類型
- python讀取文件
- python寫文件
- 文件指針