class Classname(object), what sort of word is 'object' in Python?

前端 未结 4 889
攒了一身酷
攒了一身酷 2020-12-14 06:18

When I create a module with its sole content:

class Classname(randomobject):
    pass

And I try to run the .py file of the module the inter

相关标签:
4条回答
  • 2020-12-14 06:27

    object is the base class from which you inherit when creating a new-style class in Python 2.

    0 讨论(0)
  • 2020-12-14 06:38

    The following three class declarations are identical in Python 3

    class Classname(object):
        pass
    
    class Classname():
        pass
    
    class Classname:
        pass
    

    Well, there will be minor differences, but not fundamentally important since the object class is the base for all.

    If you plan to write Python agnostic code (Python2 and Python3 agnostic) you may use the first declaration.

    0 讨论(0)
  • 2020-12-14 06:39

    object is an identifier that refers to a builtin type.

    Unlike many other languages, there are no primitive types in Python. Everything is an object, including all data types.

    I'm not sure why you expected inheriting from randomobject to work.

    0 讨论(0)
  • 2020-12-14 06:41

    object is a (global) variable. By default it is bound to a built-in class which is the root of the type hierarchy.

    (This leads to the interesting property that you can take any built-in type, and use the __bases__ property to reach the type called object).

    Everything built-in that isn't a keyword or operator is an identifier.

    0 讨论(0)
提交回复
热议问题