对Python"一切皆对象"的小参悟

写在前面

若有误区请大神不吝指正,以免带偏了如我者的弱鸡们
据闻对此不再懵逼后,于函数以及高阶函数编程的进阶有益
类:又称对象,由类创建的个体被称为实例

名言名句"一切皆对象(一切皆类,一切都是模板)"

a. 溯源的规则就一项:由谁创建,即模板是谁
b. 补充一下Python解释器中内置的标准类型(就列举这些吧,基本都见过,没见过的就算了,于此不重要)

  • None
  • 数字类型:int float complax(复数) bool
  • 迭代类型:generator
  • 序列类型:list tuple range str bytes
  • 集合类型:set frozenset
  • 映射类型:dict
  • 上下文管理器类型:with
  1. 以数字123为例(其余类型类似)溯源,它是由int类创建的,不信你看
    >>> type(123)
    <class 'int'>
    
  2. int由type类创建,不信你看
    >>> type(int)
    <class 'type'>
    
  3. type由type类创建,没错,就是自己创建自己,不信你看
    >>> type(type)
    <class 'type'>
    
  4. 自建个普通类再看看
    class Persion:
        pass
    
    >>> type(Persion)          # 由type类创建
    <class 'type'>
    
  5. 特殊的类,基类object
    >>> type(object)          # 由type类创建
    <class 'type'>
    

小结1:类 int、type、Persion、object 都是由type创建的

证明object是一切类的基类

  1. int、type、Persion的父类都是object,不信你看
    >>> int.__bases__       # 查看继承的父类,返回一个tuple
    (<class 'object'>,)
    >>> type.__bases__
    (<class 'object'>,)
    >>> Persion.__bases__
    (<class 'object'>,)
    
  2. object没有父类,不信你看
    >>> object.__bases__
    ()
    

总结:一切皆对象,一切皆继承自object

  1. 类都是由type创建的,包括自己创建自己,且继承自object
  2. object是一切类的父类,同时object也是type的创建的

名言名句"先有鸡还是先有蛋"

  • 先有type还是先有object?
原文地址:https://www.cnblogs.com/z417/p/13924842.html