1、什麼是物件
2、什麼是類
3、什麼是屬性
4、什麼是方法
5、建立乙個dog類,dog的屬性有顏色,方法有汪汪叫
隨堂練習:
classdog:
def__init__
(self, color):
self.color =color
defwangwang(self):
print("
dog wangwang!")
dog = dog("
white")
dog.wangwang()
6、建立乙個cat類,cat的屬性有擁有老鼠的隻數,方法有捉老鼠
classcat:
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...