2017-06-21 97 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