zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    nginx 转发配置
    Rancher中httpd证书的管理和使用
    JDK-docker
    软路由
    rancher相关
    rancher部署
    电商 好文 知识积累
    SpringBlade 接口文档 请求token接口报错
    SpringBlade 接口文档 无法访问
    电商 好文
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/9063015.html
Copyright © 2011-2022 走看看