python之物件導向原來如此簡單

2021-10-06 01:22:12 字數 2674 閱讀 1815

(1)物件(object)

物件就是生活中客觀存在的實際物體,也被稱為實體,實體物件,例項,例項物件。

(2) 類 (class)

類其實就是型別的簡稱,描述的是不同的資料型別,類是物件的模板,物件是類的實體。

類的宣告:

class 型別名稱:

「」」型別的文件注釋」」」

def__init__

(self)

:# 宣告屬性特徵(變數)的地方

pass

def 方法名稱(self)

:# 定義物件的行為

pass

① 型別名稱:識別符號(字母、數字、下劃線組成,數字不能開頭)

帕斯卡命名法(大駝峰命名法):乙個或者多個單詞組成,每個單詞首字母大寫

② 屬性特徵:就是乙個變數,必須和 self 一起使用;

遵循變數的命名規則[見名知意、下劃線命名法] ③ 方法行為:就是乙個函式,遵循函式的命名規則[見名知意、下劃線命名法]

class

student

: 「」」學生」」」

def__init__

(self, name)

: self.name = name

defstudy

(self)

:# 定義物件的行為

print

(f"正在學習"

)# 建立物件

dujie = student(

"渡劫"

)# 呼叫物件屬性

print

(dujie.name)

# 呼叫物件方法

dujie.student(

)

(3) 屬性(attribute)

生活中的實體物體,都是包含自己的特徵的,如人包含姓名、性別、年齡、膚色特徵(名詞),屬性就是物件的特徵(名詞)。

類屬性:

屬於型別的特徵,能被當前型別的所有物件訪問,但是不允許通過物件修改

① 類屬性可以被型別名稱直接訪問,可以被當前型別的所有物件訪問

② 類屬性只能被型別名稱修改

③ 類屬性不能被物件修改

位置:宣告在型別的內部,方法的外部

規範:類屬性也是屬性,也是乙個變數,遵循變數的命名規範

class

person

: max_age =

120def

__init__

(self, name, age)

: self.name = name

self.age = age

# 訪問

print

(person.max_age)

print

(xinghen.max_age)

print

(dujie.max_age)

# 修改

person.max_age =

150# 屬性擴充套件

xinghen =

("星痕",20

)xinghen.gender =

"女"

(4) 方法(method)

生活中的實體物體,都是包含具體的行為的,方法就是物件的行為(動詞)。

案例操作:

class

person

:"""人的型別"""

def__init__

(self, name, gender, age)

:"""屬性初始化"""

self.name = name

self.age = age

self.gender = gender

defdriver

(self, car, area)

:"""開車,駕駛的行為"""

# 開車:人的行為

print

(f"準備出發"

)# 車:發動出發

car.run(area)

class

vehicle

:"""交通工具"""

def__init__

(self, brand, color)

: self.brand = brand

self.color = color

defrun(self, area)

:"""車行駛到某個地方的行為"""

print

(f"的發動了,準備去"

)class

area

:"""地點"""

def__init__

(self, name, info)

: self.name = name

self.info = info

# 需要參與的物件

old_zhang = person(

"老張"

,"男",68

)luhu = vehicle(

"路虎"

,"黑色"

) dong_bei = area(

"東北"

,"那塊黑土地..."

) old_zhang.driver(luhu, dong_bei)

原來如此簡單

你對我說美麗的女孩子是種危險的動物,她們詭譎善變,揚起貓一樣的觸鬚來挑動你身上的每一處情感神經。不過我想不管是哪種型別的女孩子,在她的心中的某個角落一定藏著乙份對於純美愛情的嚮往,只是表現出來的樣子不同罷了!喜歡彈鋼琴只彈黑鍵,喜歡把熱牛奶放在左邊,喜歡對著毛絨娃娃傾訴我對你的想念。想讓你知道我就是...

MS UI Automation原來如此

最近參加了公司的乙個program competition,做個小工具。其中涉及到乙個盲點。需求是 在 中訪問另乙個program的程序,獲取它的視窗控制代碼,並在它的視窗上對某乙個控制項進行滑鼠點選操作以執行相應的命令。google來baidu去,終於有思路了 原來需要用到ms的ui automa...

python裝飾器 原來如此簡單

今天整理裝飾器,內嵌的裝飾器 讓裝飾器帶引數等多種形式,非常複雜,讓人頭疼不已。但是突然間發現了裝飾器的奧秘,原來如此簡單。coding gbk 示例1 使用語法糖 來裝飾函式,相當於 myfunc deco myfunc 但發現新函式只在第一次被呼叫,且原函式多呼叫了一次 defdeco func...