標籤:hit dict 建立 anim 個人 進階 -- def 通過
1.0---物件導向的概念
.
類: 具有相同屬性和技能的一類事物; (人類就可以作包含了多個
對象(人)的
類)
對象: 具體類的表現,具體到個體,實實在在的一個執行個體; (高小波是一個人,就是人類中實實在在的個體)
為什麼要學習類,對象: 可以將代碼形成一個個代碼塊,這些代碼塊可以進行相互間的操作(類間的繼承,對象對類的操作),有利於代碼的規範和引用
.
2.0---類的格式
.
類體: 包括倆部分 變數部分(靜態變數) ,方法(函數)部分(普通函數,構造方法)
class Person: # Person 類名 name=‘有名字‘ # 靜態變數,(也叫靜態欄位) animal=‘進階動物‘ faith=‘有信仰‘ def work(self): # 方法(函數) print(‘有沒有工作‘) def house(self): print(self) print(‘有沒有房子‘)
.
3.0---物件導向的操作
.
對類的操作可以從倆個角度來講:通過類名對類進行操作,通過對象對類進行操作
從類名的角度:
.
a.-- dict
Person.dict 操作 查詢類中的所有內容;不能進行增刪改操作
b.--萬能的 . (可實現增刪改查)
print(Person.name) # 查Person.age=25 # 增 在類的函數中也可以操作Person.name=‘高波‘ # 改del Person.animal # 刪操作類中的方法(在工作中基本不用)Person.work(11)
.
從對象的角度
class Person: name=‘有名字‘ # 靜態變數,或者是靜態欄位 animal=‘進階動物‘ faith=‘有信仰‘ def __init__(self,name,age,sex,hobby): # 構造方法(每個類都要有構造方法) self.name=name self.age=age self.sex=sex self.hobby=hobby # 給對象封裝相應的屬性(變數,可控); def work(self): print(‘有沒有工作‘) def house(self): print(self) print(‘有沒有房子‘)
ret=Person(‘高波‘,25,‘boy‘,‘不知道‘)
預設將Person的空間地址傳給self,其他得參數會依次傳入
#1, 類名+()產生一個執行個體(對象,對象空間.)
#2, 自動執行類中的init方法,將對象空間傳給init的self參數,
#3, 給對象封裝相應的屬性(變數). 可控的
自動執行類中的init方法,將對象空間傳給init的self參數,
Person() # 類名+() 的這個過程:執行個體化的過程(建立一個對象的過程)
Person() 執行個體化對象,執行個體,對象
a.--操作對象中的靜態變數
1.0 dict 查詢對象中的所有內容
2.0 萬能的 .
print(ret.name)ret.hith=1.68del ret.hobbyret.name=‘高小波‘ print(ret.__dict__)
b.--對象操作類中的靜態變數
print(ret.name) # 如果對象中有就會先查詢對象中的,沒有的得話,向上一步查詢類中的
print(ret.faith)
c.--對象操作類中的方法 (工作中,通過對象)
ret.work()
ret.house()
01什麼是物件導向,物件導向的基本操作