2017-06-21 91 views
2

如果我有這樣的代碼:瞭解Python類和對象

class Fish(object): 
    pass 
class Salmon(Fish): 
    pass 

SalmonFish類對象?哪一個是實例? x = Salmon()叫什麼?

回答

2

讓我從簡單開始:在Python中,一切都是object

但我想你混淆「從類對象」(我猜你的意思是「類的實例」呢?)有"inheritance"

class Fish(object): 
    pass 

創建一個類Fishobject繼承。同樣:

class Salmon(Fish): 
    pass 

創建一個類SalmonFish繼承。

這兩個都不是正常意義上的「實例」。它們實際上是「實例」:它們都是type(它繼而是子類對象)的實例,它是所有類的基類元類,但這可能有點太過分了。如果您想了解更多信息,請在Python中檢出元類。

實際上創建instance的是x = Salmon():這會創建一個Salmon的實例。

+0

Thx男孩我現在得到它! –

+0

@TeofanusGary沒問題。請不要忘記[upvote](https://stackoverflow.com/help/privileges/vote-up)所有有用的答案,並[接受](https://meta.stackexchange.com/questions/5234/how -does-accepting-an-answer-work)最有幫助的一個。 – MSeifert