• 对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?
  • 相关阅读:
    宽带手记
    adb的logcat使用
    项目经理
    小A老空调需求管理小记
    作为一个项目经理你关注的是什么
    技术采撷
    项目的落地目标
    和我一起使用postcss+gulp进行vw单位的移动端的适配
    高级程序设计第十三章,简单的事件捕获事件冒泡整理
    javascript高级程序设计第二章知识点提炼
  • 原文地址:https://www.cnblogs.com/z417/p/13924842.html
Copyright © 2020-2023  润新知