python中一切皆物件
class
person
:#盡量用駝峰體
#屬性 height =
180 weight =
120#方法
defsleep
(self)
:print
('睡覺'
)person1 = person(
)#類的例項化,得到物件
print
(person1.height)
person1.sleep(
)print
(person.__dict__)
#是類的命名空間
結論:先從自己的命名空間去找,沒有則去類中找,如果類也沒有則報錯
物件呼叫方法,使用的就是類中定義的方法
那個物件來呼叫方法,self就是那個物件
物件屬性的查詢順序:物件自己------》類中------》報錯
物件方法的查詢順序:所有物件都用類的方法------》方法有self引數,通過self引數來區分是那個對像呼叫的
類名.___dict__類的命名空間
物件.__dict___物件的命名空間
所有類的屬性應該寫物件共有的屬性,如果是物件自己的,需要放到物件自己命名空間
不能,只能改物件自己的命名空間的屬性
person.height=
170
class
student
: count =
0s1 = student(
)student.count +=
1s2 = student(
)student.count +=
1s1.count +=
1print
(student.count)
print
(s1.count)
student.count+=
10# 修改類的count屬性
print
(s1.count)
# 列印s1的count屬性,由於s1用自己的,就是3
print
(s2.count)
# 列印s2的count屬性,由於s2沒有,用類的,類的是12,就是12
函式:普通函式def定義函式,有幾個引數就要傳幾個引數
方法:繫結給某個物件,方法有特殊之處:繫結給誰,誰來呼叫,誰來呼叫,誰來呼叫就會自動把誰傳過來,傳給self
class
student
:def
choose_course
(self)
:# 定義在類內部的函式,就是繫結給物件的方法
print
('%s這個人逃了課'
% self.name)
# 通過self來區分,到底是哪個物件呼叫了自己的繫結方法
s1=student(
)s1.name=
'wsc' 自己命名空間加了name屬性
s1.choose_course(
) 繫結給物件的方法,物件來呼叫,自動把物件傳進去
student.choose_course(s1)
# 類可以呼叫物件的繫結方法,但是需要手動把物件傳進來,現在choose_course就是個普通函式,有幾個引數,就傳幾個引數
物件在例項化的時候,賦初值(給物件一些屬性)
class
student
:def
__init__
(self,age)
: self.name=
'wsc'
self.age=age
s1=student(
)# 只要是類例項化得到物件,就會自動觸發__init__的執行
print
(s1.name)
c 物件導向程式設計 物件導向
什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...
物件導向程式設計
物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...
物件導向程式設計
class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...