一、思維的轉(zhuǎn)變
盡量習(xí)慣用面向?qū)ο缶幊蹋侯惡蛯ο蟆?/p>
二、類和對象
1.概念
類就是擁有相同屬性、相同功能的對象的集合(抽象的)。
對象就是類的實例(具體的)。
2.類的說明:確定他的屬性和功能
1.語法:
class 類名:
類的說明文檔
類的內(nèi)容
2.聲明對象:對象 = 類()
3.對象方法
類中的方法:對象方法、類方法、靜態(tài)方法
1.對象方法:
a.聲明:直接聲明(聲明前不需要加任何裝飾器)在類中的函數(shù)就是對象方法。
b.特點:自帶self參數(shù);用對象調(diào)用對象方法的時候self不用傳參,系統(tǒng)會自動將當(dāng)前對象傳給self。
c.調(diào)用:以'對象.對象方法()'的形式來調(diào)用 。
4.構(gòu)造方法
1.構(gòu)造函數(shù) - 函數(shù)名和類名一樣,用來創(chuàng)建類的對象的函數(shù)。
python中聲明類的時候,系統(tǒng)會自動為這個類創(chuàng)建一個構(gòu)造函數(shù),函數(shù)的作用是創(chuàng)建對象。
構(gòu)造方法的執(zhí)行過程:a.在內(nèi)存中開辟空間創(chuàng)建對象 b.用創(chuàng)建好的對象去調(diào)用init方法 c.返回對象在內(nèi)存中的地址。
2.init方法
聲明在類中用來對對象進行初始化的方法;(當(dāng)對象一創(chuàng)建出來,這個方法就會被自動調(diào)用)。
注意:創(chuàng)建對象的時候構(gòu)造方法需不需要傳參,需要傳幾個參數(shù),看這個類的init方法。
5.屬性
1.類中的屬性
屬性就是聲明在類中的變量
類中的屬性分為:字段和對象屬性
字段
a.聲明:聲明在類的里面函數(shù)的外面的變量就是字段
b.使用:通過類去使用(以'類.字段'的形式使用)
c.什么時候用:屬性的值不會因為對象不同而不同,這樣的屬性就聲明成類的字段
對象屬性(重要)
a.怎么聲明:以'self.屬性值=值'的形式聲明在init方法中
b.怎么使用:通過對象去使用,
c.什么時候用:屬性的值可能會因為對象不同而不一樣,這樣的屬性就聲明成對象屬性
class Student:
def __init__(self):
# 這兒的name、age、gender、id就是對象屬性
self.name = '小明'
self.age = 23
self.gender = '男'
self.id = 'stu001'
6.對象屬性的增刪改查
1.查
方法一:對象.屬性
方法二:getattr(對象, 屬性值:str)/getattr(對象, 屬性值:str,, 默認值
2.增、改:屬性存在就修改,屬性不存在就增加
方法一:對象.屬性 = 值
方法二:setattr(對象,屬性名, 值)
3.刪
方法一:del 對象.屬性名
方法二:delattr(對象,屬性名)
4.slots函數(shù)
通過給slots字段賦值來約束當(dāng)前類的對象有哪些對象屬性。