Python_從零開始學習_(35) 定義簡單類
阿新 • • 發佈:2018-12-17
目錄
1. 定義簡單的類 (只包含方法)
面向物件 是 更大 的 封裝, 在 一個類中 封裝 多個方法, 這樣 通過這個類創建出來的物件, 就可以直接呼叫這些方法了!
1.1 定義只包含方法的類
- 在 Python 中要定義一個只包含方法的類, 語法格式如下:
class 類名:
def 方法1(self, 引數列表):
pass
def 方法2(self, 引數列表):
pass
- 方法 的定義格式和之前學習過的 函式 幾乎一樣
- 區別在於第一個引數必須是 self
注意: 類名 的 命名規則 要符合 大駝峰命名法
1.2 建立物件
- 當一個類定義完成之後, 要使用這個類來穿件物件, 語法格式如下
物件變數 = 類名()
1.3 第一個面向物件程式
需求
- 小貓 愛 吃 魚, 小貓 要 喝 水
分析
- 定義一個貓類 Cat
- 定義兩個方法 eat 和 drink
- 按照需求 ---- 不需要定義屬性
class Cat: """這是一個貓類""" def eat(self): print("小貓愛吃魚") def drink(self): print("小貓要喝水") # 建立貓物件 tom = Cat() tom.eat() tom.drink()
引用概念的強調
在面向物件開發中, 引用的概念是同樣適用的!
- 在 Python 中使用類 建立物件之後, tom 變數中 仍然記錄的是 物件在記憶體中的地址
- 也就是 tom 變數 引用 了 新建的貓物件
- 使用 print 輸出 物件變數, 預設情況下, 是能夠輸出這個變數 引用的物件 是哪一個類建立的物件, 以及 在記憶體中的地址 (十六進位制表示)
提示 : 在計算機中, 通常使用 十六進位制 表示 記憶體地址
- 十進位制 和 十六進位制 都是用來表達數字的, 只是表示的方式不一樣
- 十進位制 和 十六進位制 的數字之間可以來回轉換
- %d 可以以 10 進位制 輸出數字
- %x 可以以 16 進位制 輸出數字
案例進階 ---- 使用 Cat 類再建立一個物件
lazy_cat = Cat()
lazy_cat.eat()
lazy_cat.drink()
提問: tom 和 lazy_cat 是同一個物件嗎? 不是!