• Python-一切皆对象


    Python 动态、灵活根本是什么?

      Python中一切皆对象,面向对象更加彻底,函数、类也是对象,属于一等公民

    一等公民特性

      1. 可以赋值给一个变量

    def name(name="北门吹雪"):
        print(name)
    
    
    new_name = name
    new_name()

      2. 可以添加到集合对象中

    def name(name="北门吹雪"):
        print(name)
    
    
    def blog(blog="http://www.cnblogs.com/2bjiujiu/"):
        print(blog)
    
    
    funcs = list()
    funcs.append(name)
    funcs.append(blog)
    
    for func in funcs:
        func()

      3. 可以作为参数传递给函数

    def ask_name(name):
        name()
    
    
    def name(name="beimenchuixue"):
        print(name)
    
    
    ask_name(name)

      4. 可以当作函数返回值,装饰器实现原理

    def ask_name(name):
        return name
    
    
    def name(name="beimenchuixue"):
        print(name)
    
    
    hai = ask_name(name)
    hai()
    

    type object class 之间的关系

        

      从继承角度来说,class(list str dict tuple ...)继承 object, type也继承 object

    # 继承关系
    # str 类型继承 object类
    print(str.__bases__)
    # type 类型进程 object类
    print(type.__bases__)
    # object类继承 ()
    print(object.__bases__)

      从实例角度来说,"abc" 是 str类型的实例, str又是type类型的实例, object是 type的实例, type是type自身的实例

    name = "beimenchuixue"
    
    # object class type 实例关系
    # name 是 str 实例
    print(type(name))
    # str 是 type实例
    print(type(str))
    # object是type实例
    print(type(object))
    # type是自己的实例
    print(type(type))

      type > class > object

      object是由class类型构建, class由type类型构建

      

      object类是顶层基类,所有类的基类,type也要继承这个类

      type是一个类,同时也是对象,继承 object类,把自己变成自己的对象,从而实现Python中一切皆对象

      

      获取变量由什么类型构建的   type()

      获取类型的基类       __bases__

      object基类是         ()

      class的基类是        object

      type的基类是         object

    Python 常见的内置类型

      a. 对象

        1. 身份    id()

        2. 类型    type()

        3. 值     对应类型封装这个值

      b. 数值      int float complex bool

      c. None(全局唯一只有一个)    NoneType类型

      d. 迭代

      e. 序列      list tuple str range

      f. 映射       dict

      g. 集合      set frozeset

      h. 上下文管理   with

      i. 其他类型

        1. 模块

        2. class和实例

        3. 函数

        4. 方法

        5. 代码

        6. object对象

        7. type

  • 相关阅读:
    Python字符串的定义与常用操作
    Python中yield返回生成器的详细方法
    python中把列表中的字符串转成整型的3种方法
    python基础教程:修改Python列表中元素的几种方法
    极致性能设计——开篇
    MySQL设计与实现
    Java平台标准版工具参考
    为什么for循环中的a=a++,a总是0
    JVM 分析工具快速查询手册
    从现代计算机低层看待性能和并发
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/9063015.html
Copyright © 2020-2023  润新知