2016-11-07 22 views
-4

我是新來的Python屬性,所以這將是巨大的,如果有人能找到時間來回答我的查詢:鏈接在python

Fido = Dog() 

我能夠理解

Fido.size = "tall" 
Fido.sleeps() 

但我不知道這意味着什麼,如下面的鏈接給出:

http://reeborg.ca/docs/oop_py_en/oop.html

畫線C的也有屬於他們的其他對象,每個都有自己的方法和屬性:

Fido.tail.wags() 
Fido.tail.type = "bushy"; 
Fido.left_front_paw.moves() 
Fido.head.mouth.teeth.canine.hurts() 

請幫

+0

'Fido = Dog()'正在創建一個Dog類的新對象並將其分配給一個新的變量'Fido'。 –

回答

0

Fido.tail.type是類.tail()方法內的type變量(屬性)設置爲"bushy"

在類中,有一些函數稱爲方法。

class Person: 

    def __init__(self, name): 
     self.name = name # Setting the name of the 'person' 

    def wave(self): # The methods which is called with George.wave() 
     print(self.name + ' waves at you.') 
George = Person('George') 
George.wave() 

將打印出「George wave at you。」。

+0

感謝您的回覆。是的,我能夠理解基本的object.attribute或object.method()概念。但不能真正與object.attribute.attribute.attribute相處。請幫助我形象化。 – ahimsa

0

首先,一切都是Python中的對象。 This SO問題是一個很好的開始理解什麼是對象的東西的地方。這意味着幾乎Python中的所有東西都有屬性和方法。 E.g 字符串

'foo' 

是字符串類的一個對象,所以,具有在跨越其它串共享諸如它的長度的方法和屬性。

在Fido示例中,'tail'是屬於Fido的對象。這個對象有一個'type'和一個叫做'wags'的方法。因此,我們可以說'wags'是尾巴的一種方法,它是Fido中的一個對象(它是Dog類的一個實例)。

+0

很多感謝您的回答和鏈接。讓我們看看這條線 - Fido.head.mouth.teeth.canine.hurts()。我理解頭是Fido的一個屬性,嘴是頭的屬性,牙齒是嘴巴的屬性等等,最後傷害()是犬的一種方法(如果我錯了,請糾正我)。因此,我應該將'head'看作是作爲父母的「嘴」和「嘴」的父類如果不是,那麼請幫助我觀察流量。 – ahimsa

+0

父類和子類用於表示相互繼承屬性和屬性的對象。頭部,嘴部,牙齒和犬可能被定義爲從其所包含的對象繼承某些值的屬性:將它們可視化爲它們包含的對象的「父類」應該很好。 – Fruitspunchsamurai