第七天 類與對像

2021-10-08 21:40:38 字數 3225 閱讀 9906

1.使用關鍵字 class 定義 python 類,關鍵字後面緊跟類的名稱、分號和類的實現。

2.self

3.python 的魔法方法

例子:

class

ball

:def

__init__

(self, name)

: self.name = name

defkick

(self)

:print

("我叫%s,該死的,誰踢我..."

% self.name)

a = ball(

"球a"

)b = ball(

"球b"

)c = ball(

"球c"

)a.kick(

)# 我叫球a,該死的,誰踢我...

b.kick(

)# 我叫球b,該死的,誰踢我...

4. 公有和私有

在 python 中定義私有變數只需要在變數名或函式名前加上「__」兩個下劃線,那麼這個函式或變數就會為私有的了。

【例子】類的私有屬性例項

class

justcounter

: __secretcount =

0# 私有變數

publiccount =

0# 公開變數

defcount

(self)

: self.__secretcount +=

1 self.publiccount +=

1print

(self.__secretcount)

counter = justcounter(

)counter.count(

)# 1

counter.count(

)# 2

print

(counter.publiccount)

# 2print

(counter._justcounter__secretcount)

# 2 python的私有為偽私有

print

(counter.__secretcount)

# attributeerror: 'justcounter' object has no attribute '__secretcount'

【例子】類的私有方法例項

class

site

:def

__init__

(self, name, url)

: self.name = name # public

self.__url = url # private

defwho

(self)

:print

('name : '

, self.name)

print

('url : '

, self.__url)

def__foo

(self)

:# 私有方法

print

('這是私有方法'

)def

foo(self)

:# 公共方法

print

('這是公共方法'

) self.__foo(

)x = site(

'老馬的程式人生'

,'')x.who(

)# name : 老馬的程式人生

# url :

x.foo(

)# 這是公共方法

# 這是私有方法

x.__foo(

)# attributeerror: 'site' object has no attribute '__foo'

5.繼承

【例子】如果子類中定義與父類同名的方法或屬性,則會自動覆蓋父類對應的方法或屬性。

# 類定義

class

people

:# 定義基本屬性

name =

'' age =

0# 定義私有屬性,私有屬性在類外部無法直接進行訪問

__weight =

0# 定義構造方法

def__init__

(self, n, a, w)

: self.name = n

self.age = a

self.__weight = w

defspeak

(self)

:print

("%s 說: 我 %d 歲。"

%(self.name, self.age)

)# 單繼承示例

class

student

(people)

: grade =

''def

__init__

(self, n, a, w, g)

:# 呼叫父類的構函

people.__init__(self, n, a, w)

self.grade = g

# 覆寫父類的方法

defspeak

(self)

:print

("%s 說: 我 %d 歲了,我在讀 %d 年級"

%(self.name, self.age, self.grade)

)s = student(

'小馬的程式人生',10

,60,3

)s.speak(

)# 小馬的程式人生 說: 我 10 歲了,我在讀 3 年級

6. 類、類物件和例項物件

類物件:建立乙個類,其實也是乙個物件也在記憶體開闢了一塊空間,稱為類物件,類物件只有乙個。

# 類物件

classa(

object):

pass

類屬性:類裡面方法外面定義的變數稱為類屬性。類屬性所屬於類物件並且多個例項物件之間共享同乙個類屬性,說白了就是類屬性所有的通過該類例項化的物件都能共享。

注:類屬性和例項屬性區別

8. 一些相關的內建函式(bif)

實習第七天

昨天經理說今天會刮颱風,所以我們要求停課比較好,畢竟我是乙個非常熱愛生命的人,這絕對不是因為我小時候差點被颱風刮走,真的不是因為這個!可是今天一大早,天氣很涼快,可是再如何涼快,還是沒有暴風雨即將來臨的感覺,為此我們捶胸頓足,為什麼停課,停課也不得不去,因為我們還得以實習生的身份過去,說起這ppt,...

第七天筆記

理解 陣列的基本概念 理解 陣列的分類 陣列的幾個名詞 陣列的應用場景 按維度分類 掌握 定義陣列 掌握 初始化陣列 掌握 陣列的使用 指定陣列的元素個數,對陣列進行部分顯式初始化 不指定元素個數,定義的同時初始化,它是根據大括號中的元素的個數來確定陣列的元素 個數 int nums 指定元素個數,...

工作第七天

dns是一種阻止層域層次結構的計算機和網路服務命名系統,它用於tcp ip網路,他從事將主機名或網域名稱轉換為實際ip位址的工作 dns domain name system 負責解析url uniform resource locator 其中有遞迴查詢 詢問人改變,詢問內容不變,詢問物件沒有 和...