昨天學習目標有四個如下,%s、string、while、for...in range、物件。
前三個已經解決了,剩下最後一個「物件」。
不錯不錯,給自己一點掌聲。
今天在網路上看了半天,大家說到「物件 (Object)」就一定會提到「類別 (Class)」。
各家解釋都大同小異,但是我就是只能意會不能言傳,簡單來說就是,還是不懂啦!)暈倒
好啦,千百個人的解釋總有一個能夠理解,因此我決定用我自己的方式來說明什麼是「物件」。
簡單來說,「物件」就像是積木一樣,每個情境都是由不同的「物件」組成,譬如:有三隻貓,一隻5歲的貓叫Cuttie、一隻7歲的貓叫Muffin,另一隻5歲的貓叫donut。
對Python而言,上面的條件簡化成三個物件「物種」、「年齡」、「名字」,也就是三個積木,這三個積木個別套在「5歲的貓Cuttie」、「7歲的貓Muffin」,「5歲的貓donut」皆成立。
「5歲的 貓 Cuttie」
→ 年齡 物種 姓名
「7歲的 貓 Muffin」
→ 年齡 物種 姓名
「5歲的 貓 donut」
→ 年齡 物種 姓名
因此,在Python的世界裡,需要先將共通點找出來,建立物件,等物件建立完以後,再來定義各個物件的「類別」。因為雖然找出共通點,但是每個情境對於「物件」肯定有不同的定義,因此需要依照情境來對「物件」進行「類別」的分類。
用積木來完整比喻的話就是:
白話解釋 → 每個情境都有相同的地方,必須先將相同的地方分類,然後定義每個分類。
積木比喻 → a,b,c 三個積木創作都是貓,但是因為裡面的條件不同,因此雖然外觀都是貓,但是積木的顏色都不同。
天啊,今天也太想睡了吧
但是,要保持清醒~)大腿捏到瘀青中
再給我一個小時。
今天也來寫點程式好了,一天沒寫程式一天不對勁。
今天程式碼如下:
class Cat:
def __init__(self, name, age, color):
self.name = name
self.age = age
self.color = color
Muffin = Cat("Muffin", 10, "black")
print("type of kitty is {}".format(type(kitty)))
Forkie = Cat("Forkie", 4, "brown")
print("type of Forkie is {}".format(type(annie)))
print("Is Muffin equal to Forkie: {}".format(Muffin==Forkie))
print("{} is {} and {} is {}.".format(
Muffin.name,Muffin.color, Forkie.name, Forkie.color))
if self.color = black
print ("Muffin is cute!!")
結果,今天的「物件」目標是寫成功了。
但是,當我加上了最後一句if self.color = black print ("Muffin is cute!!")
居然不顯示這句話 QQ
不過我自己知道這句語法肯定錯了 唉
只能明天再戰了。
殘念收工。
if self.color = black print ("Muffin is cute!!")
你的意思是不是if self.color == "black" print ("Muffin is cute!!")
沒事的,=
跟==
都是常犯錯誤Orz
只是那個black... 比較的是「字串」才對
我照你這樣寫,他還是不給我執行欸!!
我再研究看看 @@
哈哈哈 if/else寫在同一行跟分開寫是不同寫法啦~
if/else
成對
print ("Muffin is cute!!") if self.color == "black" else [...]
\
當作下一行繼續print ("Muffin is cute!!") if self.color == "black" \
else [...]
if self.color == "black":
print ("Muffin is cute!!")