python初級 302 6 物件(二)

2022-02-23 17:32:13 字數 1408 閱讀 2769

1、什麼是物件

2、什麼是類

3、什麼是屬性

4、什麼是方法

5、建立乙個dog類,dog的屬性有顏色,方法有汪汪叫

隨堂練習:

class

dog:

def__init__

(self, color):

self.color =color

defwangwang(self):

print("

dog wangwang!")

dog = dog("

white")

dog.wangwang()

6、建立乙個cat類,cat的屬性有擁有老鼠的隻數,方法有捉老鼠

class

cat:

def__init__

(self, mouse_count):

self.mouse_count =mouse_count

defcatch_mouse(self):

self.mouse_count += 1

print("

cat has mouse count:

", self.mouse_count)

def__str__

(self):

text = "

cat has {} mouse.

".format(self.mouse_count)

return

text

cat =cat(0)

cat.catch_mouse()

cat.catch_mouse()

print(cat)

前面學過乙個魔法方法,__init__(),該方法會在物件建立時完成初始化。每個物件內建乙個__init__()方法。如果你在類定義中沒有加入自己的__init__()方法,就會有這樣乙個內建方法接管,它的工作就是建立物件。

另乙個特殊方法是__str__(),它會告訴python列印(print)乙個物件時具體顯示什麼內容。

主要列印如下內容:

1、例項在**定義

2、類名

3、儲存例項的記憶體位置(0x00bb83a0部分)

不過,也可以定義自己的__str__(),這會覆蓋內建的__str__()方法

1、建立乙個dog物件,此物件是白色的狗,名字叫貝貝,有10歲了,如果寫出語句:

print(dog), 顯示為:dog name is beibei,has 10 old.

它會汪汪叫,也會跑。

2、建立乙個cat物件,此物件是白色的貓,有3歲了,剛建立時它沒有老鼠,不過它會捉老鼠,還會跑,也會吃老鼠

如果寫出語句:print(cat),顯示為:cat has 3 old,has 2 mouses.(假設建立貓以後,它已經捉了兩次老鼠了並且還沒開始吃)

python學習筆記2(物件)

物件的屬性不能繼承。方法可以呼叫沒有的引數或方法,但執行時會報錯。property setter標記的方法可以當作屬性來用。class animal object def init self self.age yi def run self print self.name,is running cl...

C 基礎(二)物件和型別

類和結構 類和結構的區別是在記憶體中的儲存方式 類是儲存在heap上的引用型別,而結構是儲存在stack上的值型別 訪問方式,結構不支援繼承。類和結構都有new來宣告例項。類資料成員包含字段 常量和事件。函式成員包括方法 屬性 建構函式 finalizer 運算子及索引器。在c 中,可以宣告與類無關...

json學習筆記(二) 物件 陣列

迴圈物件 使用for in迴圈物件的屬性,使用中括號 訪問屬性值 如 var myobj for x inmyobj 巢狀物件如 myobj 同樣使用 或者 來訪問巢狀物件 x myobj sites site1 或者x myobj sites site1 修改值 myobj sites site1...